home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / UTIL / Msh 1.0.0.sit / Msh 1.0.0 f / Manual / MAN1M.HLP < prev    next >
Text File  |  1996-11-14  |  78KB  |  2,467 lines

  1. /***Intro***/
  2. INTRO(1M)                     Mac-Shell Command                      INTRO(1M)
  3.  
  4. 【名前】
  5.     Intro - Mac-Shell コマンド (man1m.hlp)
  6.  
  7. 【内容】
  8.     <コマンド名>    <概略>
  9.     Msh        unix の csh ライクなシェル(コマンド・インタプリタ)
  10.  
  11.     cd/chdir    カレントディレクトリの移動
  12.     pwd        カレントディレクトリの表示
  13.     ls        ディレクトリ内容の表示
  14.     cp        ファイルのコピー
  15.     mv        ファイルの移動
  16.     rm        ファイル削除
  17.     df        ディスクの空き容量表示
  18.     du        ディスク使用量の表示
  19.     mkdir/rmdir    ディレクトリの作成/削除
  20.  
  21.     cat        ファイルの連結と出力
  22.     head        ファイルの先頭を出力
  23.     tail        ファイルの末尾を出力
  24.     sort        ファイルの整列,マージ
  25.     diff        GNU-diff(テキストファイルの内容比較)
  26.     grep        GNU-grep(文字列検索)
  27.     wc        テキストファイルの語数をカウント
  28.  
  29.     look        簡易 日/英辞書
  30.     man        オンラインマニュアル
  31.     manmnt        マニュアルのメンテナンス
  32.     file        ファイルタイプの報告
  33.     vi        vi エディターの起動 (STevie for Mac)
  34.  
  35.     alias/unalias    コマンド別名の定義/削除
  36.     echo        エコー
  37.     history        ヒストリーの出力
  38.     pushd/popd/dirs    ディレクトリの push/pop/表示
  39.     set/unset    環境変数の設定/消去
  40.     source        コマンドをファイルから読み込み実行
  41.     exit        exit program
  42.  
  43.     clear        端末画面のクリア
  44.     date        日時の出力
  45.     stty        Mac モニターの解像度等の表示
  46.  
  47.     den        簡易電卓
  48.     help        ヘルプの出力
  49.     ps        プロセスステータスの表示
  50.  
  51.     finder        Finder の各種制御
  52.     process        プロセスの各種制御
  53. /***msh***/
  54. MSH(1M)                       Mac-Shell Command                        MSH(1M)
  55.  
  56. 【名前】
  57.     Msh - unix の csh ライクなシェル(コマンド・インタプリタ)
  58.  
  59. 【形式】
  60.     Msh (Finder などから起動)
  61.  
  62. 【目次】
  63.     解説
  64.     シェルの解説
  65.         パスの指定について
  66.         初期設定と終了
  67.         コマンド入力について
  68.         コマンドの検索/実行
  69.         コマンド実行中のキー
  70.         字句の構造
  71.         I/O のリダイレクト
  72.         コマンド行の分析
  73.         ヒストリの置換
  74.         別名(エイリアス)
  75.         変数の置換
  76.         ファイル名の置換
  77.     ファイル
  78.     シェル変数
  79.     関連項目
  80.  
  81. 【解説】
  82.     Msh は Macintosh 上で unix 風な処理が出来るようにするためのシェル
  83.     (コマンド・インタプリタ),各種コマンド及びその他の便利な機能を持っ
  84.     たアプリケーションです。
  85.  
  86. 【シェルの解説】
  87.     Msh のコマンド・インタプリタ及びコマンド実行の方法について解説しま
  88.     す。
  89.     なお、ここでは個々のコマンド説明は行いません。どのようなコマンドがあ
  90.     るか知りたい場合には "help" または "man 1m intro" とコマンドを打って
  91.     下さい。また、コマンドの詳細説明を見たい場合には "man <コマンド名>"
  92.     と打って下さい。
  93.  
  94.   [パスの指定について]
  95.     基本的には unix の形式と同じです。
  96.  
  97.     1. ドライブ
  98.         DOS と同じようなドライブの考え方があります。ドライブ名は英
  99.         字の A〜Z 1文字です。ドライブは基本的にはマウントされた順
  100.         番にふられます。df(1m) コマンドにより現在マウントされている
  101.         ボリュームとそのドライブ名がわかります。
  102.  
  103.     2. unix 形式
  104.         フルパス        <ドライブ>:[/ディレクトリ...]/ファイル
  105.         ディレクトリの区切り    /
  106.         カレントディレクトリ    .
  107.         親ディレクトリ        ..
  108.  
  109.     3. Mac 形式での指定
  110.         フルパス        <ボリューム名>:[ディレクトリ:...]最終パス
  111.         カレント上のファイル    ファイル名
  112.         カレント上のディレクトリ    :<ディレクトリ>
  113.         親ディレクトリ        ::最終パス
  114.  
  115.         この形式の指定をした場合には、ファイル展開はされません。
  116.         詳細は、Inside Macintosh を見てください。
  117.  
  118.     注意:    次のようなものがあると Msh の解釈及び処理がおかしくなること
  119.         があります。
  120.             1. ".", ".." というファイル
  121.             2. A〜Z 一文字のボリューム
  122.             3. "/" 文字を含むボリューム,ディレクトリ,ファイル
  123.  
  124.   [初期設定と終了]
  125.     Msh は起動時にこのアプリケーションのあるディレクトリの _mshrc を実
  126.     行します。
  127.     終了時には、現在のところ特に処理は行いません。
  128.  
  129.   [コマンド入力について]
  130.     プロンプトが表示されている場合に、コマンドを入力することが出来ます。
  131.     なお、次のキーは特殊な意味を持っています。
  132.  
  133.     ESC        2回キー入力するとコマンド再入力
  134.     Return, Enter    コマンドの実行
  135.     Ctrl+H, Delete    カーソル前の文字消去
  136.     Ctrl+G        カーソル文字の消去
  137.     Ctrl+S, ←    カーソルの左移動
  138.     Ctrl+D, →    カーソルの右移動
  139.     Ctrl+U        コマンド再入力
  140.     Ctrl+E, ↑    前のヒストリー表示
  141.     Ctrl+X, ↓    次のヒストリー表示
  142.  
  143.   [コマンドの検索/実行]
  144.     実行するコマンドの決定は次の順番で行われる
  145.         1. 内部コマンド名かチェック
  146.         2. 環境変数 path 上にアプリケーション/コントロールパネル/ディ
  147.            スクアクセサリ(DA) があるかチェック
  148.            フォルダー指定時はそのものがあるかチェック
  149.             例: "a:/appl/STvi"
  150.  
  151.     path の設定例(_mshrc に通常は記述する)
  152.         % set path=(a:/システムフォルダ/コントロールパネル a:/Appl)
  153.  
  154.     アプリケーション時のオプション
  155.         -n    ファイルがない場合にテキストファイルを新規作成
  156.         -p    ドキュメントを実行する
  157.         例: % yooedit -p *.txt    ← YooEdit でファイルを印刷
  158.  
  159.     AppleScript もアプリケーション化させれば実行できます
  160.  
  161.   [コマンド実行中のキー]
  162.     コマンドの実行中に有効なキーは次のものです。
  163.  
  164.     Ctrl+C        プログラムの強制停止(コンソールへの出力時のみで有効)
  165.     Ctrl+S        コンソール表示の停止
  166.             表示の再開は Ctrl+S or Ctrl+Q
  167.     
  168.     注意:    1. 現バージョンでは、表示時のみにキーをチェックしているため
  169.            ききが悪いことがあります。
  170.         2. 現バージョンでは、Ctrl+S で表示を停止した場合にキーバッフ
  171.            ァをクリアしていないためコマンド入力状態になった場合に警
  172.            告音が鳴りますが気にしないで下さい。
  173.  
  174.   [字句の構造]
  175.     '...'        変数,ファイルの置換は行われない
  176.     "..."        ファイルの置換は行われない
  177.     `コマンド..`    コマンドの標準出力をワードに区切ってコマンドラインに
  178.             展開します("..." 内部の場合改行は新しいワードを作成
  179.             します)
  180.     (コマンド..)    コマンドをグループ化します
  181.     ¥        後続する文字の特殊な意味をなくします
  182.     #        入力が端末からでない場合(source など)後続する文字を
  183.             無視する(コメント)
  184.  
  185.     例:    % man ".*copy.*"    ← "copy" を含むマニュアルを表示
  186.         % vi `grep -l abc *.c`    ← "abc" を含むファイルを編集
  187.         % (grep abc *.c ; grep xyz *.c) | sort
  188.                     ← "abc","xyz" 検索結果をソート
  189.  
  190.     注意:    現バージョンでは ¥ による継続行はサポートされていません。
  191.  
  192.   [コマンド行の分析]
  193.     ;        複数コマンドの実行
  194.     ||        複数コマンドの実行(エラー時のみ処理続行)
  195.     &&        複数コマンドの実行(正常終了時のみ処理続行)
  196.     |, |&        パイプ
  197.  
  198.     注意:    現バージョンでは、 &&, || はサポートされていません。
  199.  
  200.   [I/O のリダイレクト]
  201.     < <ファイル>    標準入力をリダイレクト
  202.     > <ファイル>    標準出力をリダイレクト
  203.     >> <ファイル>    標準出力をリダイレクト(現ファイルに追加)
  204.     >& <ファイル>    標準出力,エラーをリダイレクト
  205.     >>& <ファイル>    標準出力,エラーをリダイレクト(現ファイルに追加)
  206.     |        標準出力をパイプ
  207.     |&        標準出力,エラーをパイプ
  208.  
  209.   [ヒストリの置換]
  210.       イベント指定
  211.     !, !!        直前のコマンドを参照
  212.     !<n>        コマンド行 <n> を参照
  213.     !-<n>        <n> 行前のコマンドを参照
  214.     !str        str で始まる最新のコマンドを参照
  215.     !?str[?]    str を含む最新のコマンドを参照
  216.     !{...}        ヒストリを参照するとき後続する文字と区切る
  217.     ^str^newstr[^]    直線のコマンドの str を newstr に置換する
  218.  
  219.       ワード指定
  220.     イベント指定の後に ':' に続いて(^,$,*,-,% の場合省略可)指定すること
  221.     によりワード範囲をしてすることができます
  222.     #        (未サポート)
  223.     0        最初の入力ワード(コマンド)
  224.     n        n 番目の引数
  225.     ^        最初の引数(1 と同じ)
  226.     $        最後のワード
  227.     %        (未サポート)
  228.     x-y        ワード範囲(-y は 0-y と同じ)
  229.     *        全ての引数
  230.     x*, x-        x-$ の省略形
  231.  
  232.       修飾子
  233.     ワード指定に続いて ':' の後に次の1つ以上の修飾子を指定できます
  234.     h,r,e        (未サポート)
  235.     s/str/newstr[/]    str を newstr に置換(/ の代わりに任意の文字を指定可)
  236.     t,&,g        (未サポート)
  237.     p        コマンドを表示するが実行はしない
  238.     q,x        (未サポート)
  239.  
  240.   [別名(エイリアス)]
  241.     詳細は、alias(1m) を参照。
  242.  
  243.     備考:    0.5.1 より以下のような別名の置換結果に対する !* をサポート
  244.         例:    % alias lsm 'ls -1 ¥!* | more'    ← 登録
  245.             % lsm *.c
  246.  
  247.   [変数の置換]
  248.     $var, ${var}    変数とそのまま置換
  249.  
  250.     $var[index]
  251.     ${var[index]}    変数の指定したワード番号の範囲と置換
  252.             ワードの指定方法(ワードは1が先頭)
  253.                 $var[*]        全てのワード
  254.                 $var[n]        n 番目のワードのみ
  255.                 $var[n-m]    n〜m 番目のワード
  256.                 $var[n-]    n〜最後のワード
  257.                 $var[-m]    1〜m 番目のワード
  258.  
  259.     $#var, ${#var}    変数のワード数と置換
  260.  
  261.     $n, ${n}    $argv[n] と同じ
  262.     $*        $argv[*] と同じ
  263.  
  264.     $?var
  265.     ${?var}        変数が設定されている場合は文字列 1、いない場合は 0
  266.  
  267.     $0, $?0, $<    (未サポート)
  268.  
  269.   [ファイル名の置換]
  270.     下に示す文字のいずれかがコマンド内に現れた場合には、ディレクトリを
  271.     調べアルファベット順にソートされたファイルまたはディレクトリに展開
  272.     されます(DOS では一般にワイルドカード展開と呼ばれている)。ただし、
  273.     引用符('...', "...")で囲まれていたり ¥ でエスケープされた場合はこの
  274.     処理は行われない。
  275.  
  276.     *        (0個以上の)いずれかの文字に一致
  277.  
  278.     ?        いずれかの1文字に一致
  279.  
  280.     [...]        囲まれた文字または文字範囲のいずれか1文字に一致
  281.             例:    [abc]        a,b,c のいずれかの文字
  282.                 [a0-9]        a または数字の文字
  283.  
  284.     [^...]        囲まれた文字または文字範囲でないいずれか1文字に一致
  285.  
  286.     {str,str,...}    コンマで区切った各文字列に展開される(この展開結果は
  287.             ソートされません)
  288.             例:    % ls a*.{bak,old}
  289.  
  290.     ~        変数 home の値に置換される(この指定はワードの先頭の
  291.             場合のみ処理される)
  292.  
  293.     備考:    1. 半角の大文字/小文字は区別されませんが展開後は Finder で
  294.            見えるままとなります
  295.         2. カタカナ及び全角文字は [] 指定以外正しく動くはずです
  296.  
  297. 【ファイル】
  298.     <Mshディレクトリ>/_mshrc    Msh 起動時に読み込まれるファイル
  299.  
  300.     <一時フォルダー>/__Msh_pipe*__    Msh パイプ処理用ファイル
  301.     <一時フォルダー>/__Msh_tmp*__    Msh 一時ファイル
  302.  
  303. 【シェル変数】
  304.     echo        実行直前のコマンドを標準エラーに出力
  305.  
  306.     home        ユーザのホーム・ディレクトリです。ファイル名拡張の
  307.             チルダ ('~') はこの値を参照します。
  308.  
  309.     noglob        ファイル名展開を禁止
  310.  
  311.     nonomatch    ファイル名展開のパターンが不一致でもエラーとしない
  312.  
  313.     prompt        プロンプトとして出す文字列
  314.             (! 文字はのヒストリ番号に置換されます)
  315.  
  316.     verbose        ヒストリ置換後のコマンドを表示
  317.  
  318. 【関連項目】
  319.     alias(1m)    history(1m)    set(1m)
  320. /***alias***/ unalias
  321. ALIAS(1M)                     Mac-Shell Command                      ALIAS(1M)
  322.  
  323. 【名前】
  324.     alias   - 別名定義
  325.     unalias - 別名削除
  326.  
  327. 【形式】
  328.     alias [name [def]]    別名定義設定または表示
  329.     unalias pattern        別名定義削除
  330.  
  331. 【解説】
  332.     alias
  333.         全てのエイリアスを表示します。
  334.  
  335.     alias name
  336.         エイリアス name とその定義内容を表示します。
  337.  
  338.     alias name def
  339.         def をエイリアス name に割り当てます。def はエスケープしたヒ
  340.         ストリ置換のメタシンタックスを含むことのできる、ワードのリス
  341.         トです。
  342.         name に alias/unalias を指定することはできません。
  343.         nameは、予約コマンドの扱いになるので、.(ピリオド)や / などを
  344.         含めることはできません。
  345.  
  346.     unalias pattern
  347.         pattern (ファイル名の展開方式と同じ)  に一致する全てのエイリ
  348.         アスを削除する。
  349.         全てのエイリアスを削除する場合は、unalias * とする。
  350.  
  351.     置き換えるコマンドにおける仮引数は、定義コマンド中に下で示すものを
  352.     指定します。
  353.         !*    全ての引き数
  354.  
  355. 【バグ】
  356.     1. unalias の name でワイルドカード指定をするとファイル展開が
  357.         されてしまいます。
  358. /***cd***/ chdir pwd
  359. CD(1M)                        Mac-Shell Command                         CD(1M)
  360.  
  361. 【名前】
  362.     cd    - ワーキング・ディレクトリの変更
  363.     chdir - ワーキング・ディレクトリの変更
  364.     pwd   - ワーキング・ディレクトリの出力
  365.  
  366. 【形式】
  367.     cd    [dir]
  368.     chdir [dir]
  369.     pwd
  370.  
  371. 【解説】
  372.     cd    [dir]
  373.     chdir [dir]
  374.         シェルのワーキング・ディレクトリを、指定ディレクトリに変更し
  375.         ます。引数を指定しなければ、ホーム・ディレクトリ(変数 homeの
  376.         ディレクトリ)に変更します。
  377.  
  378.     pwd
  379.         ワーキング・ディレクトリを出力します。
  380.  
  381. 【シェル変数】
  382.     home        ユーザのホーム・ディレクトリ
  383.  
  384. 【関連項目】
  385.     pushd(1m)
  386. /***clear***/
  387. CLEAR(1M)                     Mac-Shell Command                      CLEAR(1M)
  388.  
  389. 【名前】
  390.     clear - 端末画面のクリア
  391.  
  392. 【形式】
  393.     clear
  394.  
  395. 【解説】
  396.     Msh のコンソール・ウインドウをクリアします。
  397. /***date***/
  398. DATE(1M)                      Mac-Shell Command                       DATE(1M)
  399.  
  400. 【名前】
  401.     date - 日付時間の表示と設定
  402.  
  403. 【形式】
  404.     date [-j]        現在日時の表示
  405. x    date yy/mm/dd [hh:mm]    日時の設定    ** 未作成
  406.  
  407. 【解説】
  408.     date [-j]
  409.         現在の日時を表示します。-j オプションを指定すると日本形式で
  410.         表示します。
  411.             % date
  412.             Sun Jul 24 23:15:35 JST 1994
  413.             % date -j
  414.             94/07/24(日) 23:15:35
  415.  
  416. x    date yy/mm/dd [hh:mm]
  417. x        日時の設定をします。
  418.  
  419. 【バージョン】
  420.     現バージョンでは日時の設定はできません
  421. /***echo***/
  422. ECHO(1M)                      Mac-Shell Command                       ECHO(1M)
  423.  
  424. 【名前】
  425.     echo - 引数の標準出力への出力
  426.  
  427. 【形式】
  428.     echo [-n] [argument...]
  429.  
  430. 【オプション】
  431.     -n    改行を行わない
  432.  
  433. 【解説】
  434.     argument を標準出力にスペース文字で区切って出力し改行します。
  435. /***exit***/
  436. EXIT(1M)                      Mac-Shell Command                       EXIT(1M)
  437.  
  438. 【名前】
  439.     exit - Msh の終了
  440.  
  441. 【形式】
  442.     exit
  443.  
  444. 【解説】
  445.     Msh を終了させます
  446. /***help***/
  447. HELP(1M)                      Mac-Shell Command                       HELP(1M)
  448.  
  449. 【名前】
  450.     help - Msh のコマンド一覧表示
  451.  
  452. 【形式】
  453.     help
  454.  
  455. 【解説】
  456.     使用できる Msh のコマンド一覧を表示します。
  457. /***history***/
  458. HISTORY(1M)                   Mac-Shell Command                    HISTORY(1M)
  459.  
  460. 【名前】
  461.     history - ヒストリ・リストの表示
  462.  
  463. 【形式】
  464.     history [-hr] [n]
  465.  
  466. 【オプション】
  467. x    -h    番号を付けずにヒストリ・リストを表示します。これは、source
  468.         に -h オプションを使用して使う場合に適した出力をします。
  469. x    -r    最新のものが最初にくるように出力順を逆にします。
  470.  
  471. 【解説】
  472. x    ヒストリ・リストを表示します。n を指定すると、最新の n 個のイベント
  473.     だけを表示します。
  474.  
  475. 【シェル変数】
  476.     history        ヒストリ・リストに保存される行数
  477. /***finder***/
  478. FINDER(1M)                    Mac-Shell Command                     FINDER(1M)
  479.  
  480. 【名前】
  481.     finder - Finder の各種制御
  482.  
  483. 【形式】
  484.     finder    launch                Finder の起動
  485.         open   <file>[...]        オープン(ダブルクリックと同じ)
  486.         print  <file>[...]        Print
  487.         info   <file>[...]        GetInfo(情報を見る)
  488.         delete <file>[...]        ごみ箱に移動
  489.         event  <Class> <ID> [file[...]]    AppleEvent の送信
  490.         empty                ごみ箱を空にする
  491.         reset                "再起動"
  492.         shutdown            "システム終了"
  493.         front                Finder を最前面に
  494.         kill                Finder を終了
  495.  
  496. 【解説】
  497.     Finder の各種制御を行います
  498.  
  499. 【関連項目】
  500.     process(1m)
  501. /***process***/
  502. PROCESS(1M)                   Mac-Shell Command                    PROCESS(1M)
  503.  
  504. 【名前】
  505.     process - プロセスの各種制御
  506.  
  507. 【形式】
  508.     process launch    <Type> <Sign>            起動
  509.     process open [-n] <Appl-Sign> <document>[...]    Open ドキュメント
  510.     process print     <Appl-Sign> <document>[...]    Printドキュメント
  511.     process quit      <Type> <Sign>            終了イベント送信
  512.     process front     <Type> <Sign>            最前面に
  513.     process event     <Type> <Sign> <Class> <ID>    イベントの送信
  514.  
  515.     -n    ファイルがない場合に新規作成
  516.  
  517. 【解説】
  518.     プロセス(アプリケーション等)の種々の制御を行うコマンドです。
  519.  
  520.     Type    プロセスタイプ(4文字)
  521.         APPL    通常のアプリケーション
  522.         FNDR    Finder
  523.         そのた
  524.     Sing    シグネチャーコード(4文字)
  525.         現在起動中の物は ps(1m) コマンドで確認可能
  526.  
  527. 【使用方法】
  528.     プロセスの起動
  529.         process launch APPL YoED    YooEdit の起動
  530.  
  531.     ドキュメントのオープン
  532.         process open YoED *.h        全ヘッダーファイル編集
  533.  
  534.     ドキュメントの印刷
  535.         process print YoED *.h        全ヘッダーファイル印刷
  536.  
  537.     プログラムを最前面に
  538.         process front APPL YoED        YooEdit を最前面に
  539. /***ps***/
  540. PS(1M)                        Mac-Shell Command                         PS(1M)
  541.  
  542. 【名前】
  543.     ps - プロセスのステータスを表示
  544.  
  545. 【形式】
  546.     ps
  547.  
  548. 【解説】
  549.     現在動作中のプロセスを一覧表示します。
  550.     表示例は次の通りです。
  551.  
  552.         % ps
  553.         Machine: PowerBook 520/540
  554.         OS Version: 7.1.1
  555.         Task                       Type Crt   Top-mem  Size  Free
  556.         --------------------------+----+----+--------+-----+-----
  557.         Finder                     FNDR MACS   afc270   326   164
  558.         ResEdit                    APPL RSED   6f9050   616   418
  559.         STvi                       APPL TSvi   817b90   784   511
  560.         Msh                        APPL TMsh   7935f0   528   234
  561.  
  562.         Size,Free の単位は KByte です。
  563. /***pushd***/ popd dirs
  564. PUSHD(1M)                     Mac-Shell Command                      PUSHD(1M)
  565.  
  566. 【名前】
  567.     pushd - ディレクトリプッシュ
  568.     popd  - ディレクトリポップ
  569.     dirs  - ディレクトリ・スタックの表示
  570.  
  571. 【形式】
  572.     pushd [+<n> | <dir>]
  573.     popd  [+<n>]
  574.     dirs  [-l|-L]
  575.  
  576. 【解説】
  577.     ディレクトリ・スタック操作は、次のコマンド操作で行ないます。
  578.  
  579.     pushd [+<n> | <dir>]
  580.         ディレクトリをディレクトリ・スタックにプッシュします。パラメ
  581.         ータを指定しないとスタックに積まれたディレクトリとカレントデ
  582.         ィレクトリを交換します。
  583.  
  584.         +<n>    n 番目のエントリをスタックの一番上に回し、そのディレ
  585.             クトリに移動します。
  586.         dir    現在のワーキング・ディレクトリをスタックにプッシュし
  587.             て、dir に移動します。
  588.  
  589.     popd [+<n>]
  590.         ディレクトリ・スタックをポップして、一番上になったディレクト
  591.         リに移動します。ディレクトリ・スタックの要素は、一番上を 0と
  592.         して番号付けます。
  593.  
  594.         +<n>    スタック内の n 番目のエントリを破棄します。
  595.  
  596.     dirs [-l|-L]
  597.         現在スタックに積まれているディレクトリの内容を表示します。
  598.  
  599.         -l    チルダ('~')で省略しないかたちで表示します
  600.         -L    先頭に番号を付けて表示します(Msh 特有)
  601.  
  602. 【シェル変数】
  603.     home        ユーザのホーム・ディレクトリ
  604.  
  605. 【関連項目】
  606.     cd(1m)        pwd(1m)
  607. /***set***/ unset
  608. SET(1M)                       Mac-Shell Command                        SET(1M)
  609.  
  610. 【名前】
  611.     set   - シェル変数の設定
  612.     unset - シェル変数の削除
  613.  
  614. 【形式】
  615.     set   [var[= value]]
  616.     set   var[n] = word
  617.     unset pattern
  618.  
  619. 【解説】
  620.     set
  621.         全てのシェル変数の値を表示します。複数ワードの値はかっこで
  622.         くくったリストとして表示されます。
  623.  
  624.     set   var[ = value]
  625.         変数 var に、value の値を割り当てます。var 単独で指定すると
  626.         変数 var に空の値を割り当てます。
  627.         value は次のどちらかです。
  628.             word       1つのワード(または引用符で囲んだ文字列)
  629.             (wordlist) かっこで囲んだワードをスペースで区切った
  630.                    リスト
  631.  
  632.     set   var[n] = word
  633.         変数 var の n 番目のワードを word に置き換えます。
  634.  
  635.     unset pattern
  636.         pattern (ファイル名の展開方式と同じ)  に一致する全ての変数を
  637.         削除します。
  638.  
  639. 【バグ】
  640.     ・unset の name でワイルドカード指定するとファイル名に展開されてしま
  641.       います。
  642.  
  643.     ・'set var[n]=word' は [] が通常のファイル展開されてしまいます。逃げ
  644.       として、引用符("") で var[n] を囲んでください。
  645.       (注意: この逃げは本来の csh ではおかしくなります)
  646. /***source***/
  647. SOURCE(1M)                    Mac-Shell Command                     SOURCE(1M)
  648.  
  649. 【名前】
  650.     source - ファイルからのコマンド読み込み
  651.  
  652. 【形式】
  653.     source [-h] file
  654.  
  655. 【オプション】
  656.     -h    コマンドの実行は行わず、ヒストリ・リストへの登録を行う。
  657.  
  658. 【解説】
  659.     ファイル file からコマンドを読み込み実行します。source コマンドは入
  660.     れ子にすることができます。
  661.  
  662. 【注意】
  663.     入れ子が深すぎるとシェルのファイルオープン制限数を越えてしまうことが
  664.     あります。
  665. /***stty***/
  666. STTY(1M)                      Mac-Shell Command                       STTY(1M)
  667.  
  668. 【名前】
  669.     stty - 端末オプションの設定/表示
  670.  
  671. 【形式】
  672.     stty
  673.  
  674. 【解説】
  675.     stty
  676.         Msh コンソールのテキストサイズおよびモニターデバイスの解像度,
  677.         カラーモード等を表示します。
  678.  
  679. 【使用例】
  680.     % stty
  681.     size = 80 x 25            ← コンソールの文字数
  682.     Monitor  640 x 480 (4 mono)    ← モニターの解像度(表示モード)
  683.  
  684. 【バージョン】
  685.     本バージョンでは、設定はできません。
  686. /***cat***/
  687. CAT(1M)                       Mac-Shell Command                        CAT(1M)
  688.  
  689. 【名前】
  690.     cat - ファイルの連結と出力
  691.  
  692. 【形式】
  693.     cat [-vnN] [file...]
  694.  
  695. 【オプション】
  696.     -v    コントロール文字を '^A'(CTRL+A) のように出力する。タブ、改
  697.         行(LF)、キャリッジリターン(CR)はそのまま出力される。
  698.     -n    行の先頭に行番号を付加する。行番号は各ファイルの先頭で 1に
  699.         設定される。
  700.     -N    行の先頭に行番号を付加する。行番号は複数ファイルを出力する
  701.         場合でもファイルを通じて増え続ける。
  702.  
  703. 【解説】
  704.     cat は、指定した各 file を順次読み取り、標準出力に書き出します。
  705.     file が与えられないか '-' がファイル名として与えられた場合には、標
  706.     準入力から読み込む。
  707. /***cp***/
  708. CP(1M)                        Mac-Shell Command                         CP(1M)
  709.  
  710. 【名前】
  711.     cp - ファイルのコピー
  712.  
  713. 【形式】
  714.     cp [-rivbu] file1 file2
  715.     cp [-rivbu] file1 ... filen directory
  716.  
  717. 【オプション】
  718.     -r    ディレクトリ下の全ファイルをコピーする
  719.     -i    対話モード(コピー先ファイルがすでに存在する場合にはコピー
  720.         の前に確認する)
  721.     -v    どのファイルがどこにコピーされているのかを逐一表示する
  722.     -b    通常ファイルのコピーで、かつコピー先が既存のファイルであれば、
  723.         それを.bakという拡張子で保存してからコピーを行う。この場合、
  724.         コピー先の元のファイルがリードオンリーであっても、以上の作業
  725.         が行われるので注意のこと。
  726.     -u    通常ファイルのコピーで、かつコピー先がコピー元より新しいか同
  727.         時刻の既存ファイルであれば、コピーを行わない。なお、コピーを
  728.         行わなかった旨のメッセージは表示されないので注意。
  729.  
  730. 【解説】
  731.     cp は UNIX の同名命令と同じ働きを持った ファイルコピープログラムで
  732.     ある。cp を使うと一つのファイルを別のファイルにコピーする(1)、ある
  733.     いは複数のファイルを別のディレクトリに同じ名前でコピーする(2) こと
  734.     ができる。(1) 形式では file2  はディレクトリであってはならず、また
  735.     (2) 形式では directory  はすでに存在するディレクトリでなければなら
  736.     ない。
  737.  
  738.     '-r' オプションが設定されて、 かつコピー元ファイルがディレクトリで
  739.     あった場合には、cp はディレクトリ下の全ファイルを、 ディレクトリ構
  740.     造を保存してコピーする。
  741. /***df***/
  742. DF(1M)                        Mac-Shell Command                         DF(1M)
  743.  
  744. 【名前】
  745.     df - ディスクフリーサイズの出力
  746.  
  747. 【形式】
  748.     df  [-hl] [drive...]
  749.  
  750. 【オプション】
  751.     -h    バージョン等の出力
  752.     -l    詳細情報の出力
  753.         ファイルシステムの種別(HFS/MFS/その他), 媒体ロック, 総ファ
  754.         イル数, 総フォルダー数, アロケーションブロックのサイズ等を
  755.         出力します
  756.  
  757. 【解説】
  758.     コマンド df は、ドライブごとに使用されているディスク容量、使用済の
  759.     スペースと未使用容量、そしてファイルシステムの全容量に対する使用済
  760.     スペース容量の割り合いを表示します。引数がなければ、 df は全ドライ
  761.     ブについて表示します。
  762.  
  763.     % df
  764.     Filesystem            kbytes    used   avail capacity  Drive
  765.     a: TomPB              157940  114787   43152    72%    SCSI #0
  766.     b: RAM ディスク         1091      66    1025     6%    RAM-Disk
  767.     c: DOS #1               1440     344    1096    24%    FD #0, PC-Disk
  768.  
  769.     ドライブ,ボリューム名 全容量  使用済  空容量  使用率   デバイス
  770.  
  771. 【関連項目】
  772.     du(1m)
  773. /***diff***/
  774. DIFF(1M)                      Mac-Shell Command                       DIFF(1M)
  775.  
  776. 【名前】
  777.     diff - テキスト・ファイル間の行の内容の相違の表示
  778.  
  779. 【形式】
  780.     diff [ -bitw ] [ -c [ # ] | -e | -f | -n | -h  ]   filename1
  781.     filename2
  782.     diff [ -bitw ] [ -Dstring ]  filename1 filename2
  783.     diff [ -bitw ] [ -c [ # ] | -e | -f | -n | -h ] [ -l ] [ -r ]
  784.     [ -s ] [ -Sname ]  directory1 directory2
  785.  
  786. 【解説】
  787.     diff はファイルの内容を比較します。規定のファイル上で実行 して、デ
  788.     ィレクトリの比較中において異なっていると判断された2つのテキスト・
  789.     ファイルを比較した場合(ディレクトリの比較に関しては後述の注意を参
  790.     照)、 diff は両ファイル間において内容の異なっている行を知ら せ ま
  791.     す。例外的な場合を除いて、 diff はごく些細な違いでも発見します。
  792.     filename1 と filename2 のどちらもディレクトリでなければ、 いずれか
  793.     一方に `-' を指定することもできます。この場合は標準入力を使用 しま
  794.     す。filename1 がディレクトリであれば、filename2 と同じファイル名を
  795.     もつそのディレクトリ内のファイルを filename1 として使用します (逆
  796.     も同様)。
  797.  
  798.     出力書式にはいくつかのオプションがあります。省略時の出力書式はこれ
  799.     らの書式行を含んでいます。
  800.  
  801.         n1 a n3,n4
  802.         n1,n2 d n3
  803.         n1,n2 c n3,n4
  804.  
  805.     これらの行は filename1 を filename2 に変換する ed(1) コマンド に似
  806.     ています。文字の後の数字は filename2 に関連をもっています。事実、
  807.     a と d を入れ替えて逆に読めば、filename2 を filename1 に変換する方
  808.     法を確認できます。 ed(1) の場合と同様に、 n1 = n2 とか n3 = n4  な
  809.     どの対は単独の数に省略されています。
  810.  
  811.     これらの行の次には、`<' で示す最初のファイルの相違ある行が示され、
  812.     次に `>' で示す2番目のファイルの相違ある行が示されます。
  813.  
  814.     両方の引数がディレクトリであれば、 diff はディレクトリ内容を名前順
  815.     にソートし、次に、前述のように違いのあるテキスト・ファイル上で規定
  816.     のファイル diff プログラムを実行します。違いのある バ イナリ・ファ
  817.     イル、共通のサブディレクトリ、および1つのディレクトリにしか現れな
  818.     いファイルの一覧を出力します。
  819.  
  820. 【オプション】
  821.     -b    後続のブランク(空白および改行文字)を無視し、その他のブラ
  822.         ンク文字列をすべて等しいものとみなします。
  823.  
  824.     -i    大文字と小文字を区別しません。たとえば `A' は `a' と同じと
  825.         みなします。
  826.  
  827.     -t    出力行でタブ文字を拡張します。通常の出力または -c 出力は、
  828.         各行の先頭に文字を追加するため、元のソース行のインデントが
  829.         混乱し、出力リストの解釈をむずかしくする恐れがあります。こ
  830.         のオプションは読み易さを保つために元のソースのインデントを
  831.         確保するものです。
  832.  
  833.     -w    ブランク(スペースおよびタブ文字)をすべて無視します。たと
  834.         えば、`if ( a == b )' と `if(a==b)' は同等です。次の 4 つ
  835.         は、相互に排他的なオプションです。
  836.  
  837.     -c[#]
  838.         行の相違を示すリストを、いくつかの行の内容とともに出力しま
  839.         す。省略時の行数は3行ですが、例えば -c10 によって10  行に
  840.         変更できます。 -c を使用すると、出力書式が少し変化します。
  841.         つまり、出力は該当するファイルの識別とその作成日で始まり、
  842.         各変更点は 12 個の * を含む行で区切られます。 filename1 か
  843.         ら削除された行には `- '; また filename2 に追加された行には
  844.         `+ ' の記号がつきます。1つのファイルから他のファイルへ 行
  845.         を交換した場合には、両方のファイルに `! ' が付けられます。
  846.  
  847.         ここで指定した数以内の行数の、両ファイル中で検出された変更
  848.         個所は、まとめて出力されます(これは従来の `diff -c'  を変
  849.         更したもので、結果の出力ははるかに解釈し易くなりました)。
  850.  
  851.     -e    エディタ ed に対して、a, c, d コマンドのスクリプトを生成し
  852.         ます。これは filename1 から filename2 を再作成します。
  853.  
  854.         -e に関連して、次のシェル・プログラムは複数の バージョンの
  855.         フ ァ イ ル を維持するのに役立ちます。元のファイル($1)と
  856.         diff が生成した一連のバージョン間の ed スクリプト($2,$3,..)
  857.         だけが必要です。「最新バージョン」は標準出力に現れます。
  858.  
  859.             (shift; cat $*; echo '1,$p') | ed - $1
  860.  
  861.         -e でディレクトリを比較するときには出力に特別な コマンドル
  862.         を directory1 の状態から directory2 の状態に変換する sh ス
  863.         クリプトが結果として得られます。
  864.  
  865.     -f    -e と同様のスクリプトを生成しますが、順序が逆なので  ed で
  866.         は利用できません。
  867.  
  868.     -n    -e と同様のスクリプトを生成しますが、順序が逆であり、 各挿
  869.         入または削除コマンドで変更した行数をカウントします。
  870.  
  871.     -h    高速ですが、精度が高いとはいえません。変更の範囲が狭く、は
  872.         っきりと分かれている場合にのみ有効です。いかなる長さのファ
  873.         イルにでも使用できます。
  874.  
  875.     diff の2番目の書式のオプションは次の通りです。
  876.  
  877.     -Dstring
  878.         filename1 と filename2 をマージし、標準出力に書き込みます。
  879.         C プリプロセッサによる制御を含んでいますから、 string を定
  880.         義せずに結果をコンパイルすることは、filename1 をコンパイル
  881.         す る こ と と 等 し く な ります。他方、string を定義する
  882.         と、 filename2 が生成されます。
  883.  
  884.     ディレクトリ比較時のオプションは次の通りです。
  885.  
  886.     -l    長い出力書式。各テキスト・ファイル diff を pr(1V) に渡し、
  887.         ページ付けを行います。テキスト・ファイルの違いをすべて報告
  888.         してから、その他の相違が記録され要約されます。
  889.  
  890.     -r    共通のサブディレクトリが検出されると、 diff を再帰的に適用
  891.         します。
  892.  
  893.     -s    同じファイルを報告します。異なるファイルは報告しません。
  894.  
  895.     -Sname
  896.         ディレクトリ diff の処理をファイル name から開始します。
  897.  
  898. 【ファイル】
  899.     /tmp/d?????
  900.  
  901. 【診断】
  902.     終了ステータスは、違いがない場合は 0、違いが数カ所ある時は 1、問題
  903.     がありすぎる場合は 2 となります。
  904.  
  905.     Missing newline at end of fileX
  906.         ファイル X の最終行に復帰改行がないことを示します。 出力が
  907.         行が同じであることを示しているようにみえても、実際には異な
  908.         っていれば、それらにフラグをたてて出力します。
  909.  
  910. 【使用上の留意点】
  911.     -e か -f オプションを指定して生成する編集用スクリプトは、`.'  で構
  912.     成する行の作成については意識しません。
  913.  
  914.     -b, -w, -i オプションを指定してディレクトリを比較する場合、diff は
  915.     まず(cmp(1) の場合と同様に)ファイルを比較し、等しくなければ 規定
  916.     の diff アルゴリズムを実行します。違いが単にブランク文字列の 遅 れ
  917.     や、大文字と小文字の違いだけで、ファイルが同じであることが分かった
  918.     場合には、出力が一部正しくないことがあります。
  919.  
  920.     -D オプションはソース・ファイル中にあるプリプロセッサの既存の 制御
  921.     を無視し、範囲の重複する #ifdefs' を生成できます。出力は手作業でチ
  922.     ェックするか、あるいは `cc -E' (cc(1V) 参照)で実行して、元のソー
  923.     ス・ファイルと diff で違いを比較しなければなりません。違いが明らか
  924.     になった場合には、コンパイルする前に修正しておかなければなりません。
  925.  
  926. 【その他】
  927.     GNU 版の diff コマンドです。日本語対応はされていません。
  928. /***du***/
  929. DU(1M)                        Mac-Shell Command                         DU(1M)
  930.  
  931. 【名前】
  932.     du - ディレクトリまたはファイルのディスク使用量を調べる
  933.  
  934. 【形式】
  935.     du  [-asl] [{file|dir}...]
  936.  
  937. 【オプション】
  938.     -a    一般ファイルに対しての情報も出力
  939.     -s    ブロック数の総計だけを出力
  940.     -l    サブディレクトリを除いたブロック数,バイト数を出力
  941.         (UNIX にはないオプション)
  942.  
  943.     オプションがない場合、各ディレクトリに対しての情報のみが出力されま
  944.     す。
  945.  
  946. 【解説】
  947.     du は、ファイル,またはディレクトリを再帰的に降下しながらその 下の
  948.     すべてのディレクトリに含まれているファイルのディスク上に占めるキロ
  949.     バイト数を報告します。もし、ファイル名が指定されなければ "."(カレ
  950.     ントディレクトリ)がその対象となります。
  951.  
  952. 【使用例】
  953.     ディレクトリに対して du を使った例を示します。なお、ディレクトリの
  954.     ブロックの総計は、表示の中の最後の項目です。
  955.         % du
  956.         5    ./memos
  957.         44    ./tech/lpr
  958.         217    ./tech/new
  959.         401    ./tech
  960.         80    ./letters
  961.         503    .
  962.  
  963.     -l オプションを指定した例を示します。フロッピーのコピーを行った 場
  964.     合などに、総バイト数を比較すれば内容が同一か大体のチェックが行えま
  965.     す。
  966.         % du -l /usr/tc
  967.           usage  in dir   in bytes  res bytes Directory
  968.             368     368    151,652          0 /usr/tc/graphic
  969.              24      24      1,638          0 /usr/tc/include/sys
  970.             280     256     90,257          0 /usr/tc/include
  971.             648     648    603,691          0 /usr/tc/lib
  972.            2752    1456  1,388,515          0 /usr/tc
  973.            2752    2752  2,235,753          0 total
  974.  
  975.         usage        総 KB
  976.         in dir         dir内 KB
  977.         in bytes    データ  フォークの総バイト数
  978.         res bytes    リソースフォークの総バイト数
  979.         Directory    ディレクトリ名
  980.  
  981. 【関連項目】
  982.     df(1m)
  983.  
  984. 【注意】
  985.     現在サブディレクトリ自体のファイルサイズは加算されません。
  986.     -a を指定しないと、ディレクトリでないファイルの引数は無視されます。
  987. /***file***/
  988. FILE(1M)                      Mac-Shell Command                       FILE(1M)
  989.  
  990. 【名前】
  991.     file - ファイル内容を検査しファイルタイプを報告する
  992.  
  993. 【形式】
  994.     file filename[...]
  995.  
  996. 【オプション】
  997.     なし
  998.  
  999. 【解説】
  1000.     file は、指定されたファイルについて各種のテストを行い、その ファイ
  1001.     ルタイプを判定します。なお、判定はファイル内容をもとに行うためファ
  1002.     イル拡張子と異なるファイルタイプを報告する事がしばしばあります。
  1003.  
  1004.     現在判定できるファイル・タイプは次の通りです。
  1005.  
  1006.         テキスト・ファイル
  1007.         C program    C言語プログラムソース
  1008.         ASM program    アセンブリプログラムソース
  1009.         batch text    バッチファイル
  1010.         日本語 text    日本語を含んだテキストファイル
  1011.         english text    英文文書ファイル
  1012.         ascii text    その他のテキストファイル
  1013.  
  1014.         バイナリー・ファイル
  1015.         EXE        実行形式ファイル(EXE 形式)
  1016.         COM        実行形式ファイル(COM 形式)
  1017.         COM (Turbo-C)    実行形式ファイル(COM 形式,Turbo-C で作成)
  1018.         COM (MS-C)    実行形式ファイル(COM 形式,MS-C で作成)
  1019.         object file, <source-file> <コンパイラ,アセンブラ名>
  1020.                 オブジェクトファイル
  1021.         library        ライブラリファイル
  1022.         LHA archive (-lhx-)
  1023.                 LHA,LHARC で作成されたアーカイブファイル
  1024.         data        その他のファイル(判定できなかった)
  1025.  
  1026.         その他
  1027.         directory    サブディレクトリ
  1028.         empty        ファイルサイズが 0 byte のファイル
  1029.         character special file
  1030.                 キャラクターデバイス(CON,CLK 等)
  1031.         cannot open    ファイルがオープンできなかった
  1032.         cannot read    ファイル内容を読み込めなかった
  1033.  
  1034. 【使用例】
  1035.     % file *
  1036.     df.com:        COM (Turbo-C)
  1037.     du.c:        C program
  1038.     du.exe:        EXE
  1039.     du.obj:        object du.c, MS C
  1040.     file.c:        C program
  1041.     file.exe:    EXE
  1042.     file.obj:    object file.c, TC86 Borland Turbo C++ 1.01
  1043.     makefile:    ascii text
  1044.     old:        directory
  1045.     x.bat:        english text
  1046.     改良:        日本語 text
  1047.  
  1048. 【注意】
  1049.     file はしばしば嘘をつきます。
  1050.  
  1051. 【その他】
  1052.     現在のバージョンは、初期のものであるためあまり利口ではありません。
  1053.     ファイルタイプの追加,判定方法の改善をしてほしいようでしたら、どし
  1054.     どし言って下さい。
  1055. /***grep***/
  1056. GREP(1M)                      Mac-Shell Command                       GREP(1M)
  1057.  
  1058. 【名前】
  1059.     grep - ファイルの文字列または正規表現のサーチ(GNU 版)
  1060.  
  1061. 【形式】
  1062.     grep [ -CVbchilnsvwx ] [-<num>]
  1063.             {-f expfile | [-e] expression} [filename...]
  1064.  
  1065. 【解説】
  1066.     grep は、入力ファイル(省略時には標準入力)をパターン検索して、 そ
  1067.     のパターンを含む行をすべて標準出力に出力します。 grep    が照合に使
  1068.     用するパターンは、 ed(1) で使用する形式の限定正規表現です。
  1069.  
  1070.     expression で '$*[^|()¥' などの文字を使用する際には注意が必要です。
  1071.     これらの文字はシェルにとって特別な意味があるからです。  expression
  1072.     全体を単一引用符 '...' で囲むのが最も安全です。
  1073.     (MS-DOS の場合には、'"' でくくると良いでしょう)
  1074.  
  1075.     grep ユーティリティを複数の入力ファイルに適用する場合には、出力 さ
  1076.     れる各行の先頭にファイル名が付けられます。1つのファイルを処理する
  1077.     ときはファイル名は表示されません。したがって、ファイル名を表示した
  1078.     い場合は、2番目のファイルとして NUL を指定してください。
  1079.  
  1080. 【オプション】
  1081.     -C    一致した行の前後2行をブロックとして表示します
  1082.     -V    バージョン番号を表示します
  1083.     -b    各行の先頭にその行のブロック番号を付けます。このオプション
  1084.         は、文脈によりブロック番号を見つけだす場合に便利です
  1085.     -c    一致したパターンを含む行そのものではなく、その行数だけを出
  1086.         力します
  1087.     -h    ファイル名を表示しません
  1088.     -i    比較時に大文字と小文字を区別しません。すなわち、大文字と小
  1089.         文字は同じと解釈されます
  1090.     -l    一致した行があるファイルのファイル名だけを出力します
  1091.     -n    各行の先頭にファイル内の相対行番号を付けます
  1092.     -s    エラー・メッセージだけを表示します。エラー状態を調べるのに
  1093.         便利です
  1094.     -v    一致しない行だけをサーチし、表示します
  1095.     -w    ¥< と ¥> で囲んだのと同じように式をワードとしてサーチする
  1096.     -x    完全に一致した行だけを表示します
  1097.     -e expression
  1098.         単に expression のみを指定したときと同じですが、expression
  1099.         が `-' で始まる場合に使用します
  1100.     -f expfile
  1101.         expfile から正規表現または復帰改行で区切った文字列のリスト
  1102.         を取り出します
  1103.     -<num>    一致した行の前後 <num> 行を表示させます
  1104.  
  1105. 【正規表現】
  1106.     次の「1文字」の正規表現は、1文字と一致します。
  1107.  
  1108.     c    普通の文字(下記の特殊文字以外)はそれ自身と一致する1文字
  1109.         の正規表現です。
  1110.  
  1111.     ¥c    バックスラッシュの後に特殊文字を続けた場合、その特殊文字と
  1112.         一致します。特殊文字には次のものがあります。
  1113.  
  1114.         +    `.', `*', `[' と `¥'(ピリオド、アスタリスク、左か
  1115.             ぎかっこ、バックスラッシュ)は、かぎかっこ ([]) で
  1116.             囲まないかぎり、特殊な意味を持ちます。
  1117.  
  1118.         +    `^' (カレットまたはサーカムフレックス)は、正規表
  1119.             現全体の先頭にある場合、または左かぎかっこの直後に
  1120.             ある場合、特殊な意味を持ちます。
  1121.  
  1122.         +    $ (通貨記号)は、正規表現全体の終わりにある場合、
  1123.             特殊な意味を持ちます。
  1124.  
  1125.     `<'、 `>'、 `('、 `)'、 `{'、または `}' がバックスラッシュの後に現
  1126.     われたとき、下記のように正規表現の演算子を示します。
  1127.  
  1128.     .    ピリオドは、改行以外の任意の文字と一致します。
  1129.  
  1130.     [string]
  1131.         かぎかっこで囲んだ空でない文字列は、文字列のいずれかの文字
  1132.         と一致します。ただし、文字列の最初の文字が `^'(サーカムフ
  1133.         レックスまたはカレット)の場合、正規表現は、改行および文字
  1134.         列内の他の文字を除くすべての文字と一致します。これ以外の位
  1135.         置にある `^' は、普通の文字として解釈されます。マ イ ナ ス
  1136.         (`-')符号を使用して、一致させる連続する ASCII 文字の範囲
  1137.         を示すことができます。
  1138.         たとえば範囲 [0-9] は文字列 [0123456789] と同じです。  `-'
  1139.         は、文字列の先頭(または先頭の `^' の後)か、終わりにあ る
  1140.         場合は普通の文字として解釈されます。右側のかぎかっこ `]'は
  1141.         、かぎかっこで囲まれた文字列の最初の文字である場合(先頭の
  1142.         `^' の後)、囲まれた文字列は終了しません。たとえば、[]a-f]
  1143.         は `]' か、または文字 a から f と一致します。このような 文
  1144.         字列では、 `.', `*', `[', と `¥'  は普通の文字として解釈さ
  1145.         れます。
  1146.  
  1147.     次の規則により、正規表現を作成することができます。
  1148.  
  1149.     *    1文字の正規表現とそれに続くアスタリスク `*' は、 0 個以上
  1150.         の1文字正規表現と一致します。一致する対象が複数個ある場合
  1151.         は、最も多くの文字数が一致する正規表現 (それも複数個あれば
  1152.         左端に近いもの)と一致します。
  1153.  
  1154.     ¥(と¥)
  1155.         ¥( と ¥)  に囲まれた正規表現は、正規表現それ自体と一致する
  1156.         ものと一致します。
  1157.  
  1158.     ¥n    式 ¥n は、同じ正規表現の ¥( と ¥) に囲まれた正規表現と一致
  1159.         する同じ文字列と一致します。 n  は、数字とし、指定されたサ
  1160.         ブエクスプレッションは、左から数えて n 番目の  ¥( となりま
  1161.         す。たとえば式 ^¥(.*¥)¥1$ は、同じ2つの文字列からなる行と
  1162.         一致します。
  1163.  
  1164.   [連結]
  1165.     正規表現を連結したものは、テキスト文字列を連結したものと一致し、そ
  1166.     れぞれがサーチ・パターンの連続する正規表現と一致します。
  1167.  
  1168.     ¥<    正規表現の中のシーケンス ¥< は、その直後の1文字の正規表現
  1169.         を「ワード」の始めの部分、すなわち行の始めか,文字,数字, ま
  1170.         たは下線の前、およびこれら以外の文字の後の部分のみと一致さ
  1171.         せます。
  1172.  
  1173.     ¥>    正規表現の中のシーケンス ¥> は、その直後の1文字の正規表現
  1174.         を「ワード」の終わりの部分、すなわち行の終わりか,文字,数字
  1175.         または下線以外の文字の前の部分のみと一致させます。
  1176.  
  1177.     ¥{m¥}
  1178.     ¥{m,¥}
  1179.     ¥{m,n¥}
  1180.         1文字の正規表現とそれに続く ¥{m¥}、¥{m,¥}、または ¥{m,n¥}
  1181.         は、指定された回数分、その正規表現と一致します。 m と n の
  1182.         値は 256 未満の負でない整数でなければなりません。 ¥{m¥} は
  1183.         m 個の正規表現と一致します。 ¥{m,¥}は m 個以上の正規表現と
  1184.         一致します。 ¥{m,n¥} は、m 個から n 個の正規表現と一致しま
  1185.         す。第 2 および第 3 の指定方法の場合、許容範囲内でできるだ
  1186.         け多くの回数分、その正規表現と一致します。
  1187.  
  1188.     ^    正規表現の先頭のカレットまたはサーカムフレックス  (^) は、
  1189.         正規表現を行の最初の部分とのみ一致させます。
  1190.  
  1191.     $    通貨記号 ($)  は、正規表現全体の終わりにある場合、正規表現
  1192.         を行の最後の部分とのみ一致させます。
  1193.  
  1194.     構造
  1195.  
  1196.         example% ^entire $
  1197.  
  1198.     は、正規表現全体を行全体と一致させます。
  1199.  
  1200.     egrep は、 ¥(, ¥), ¥n, ¥<, ¥>, ¥{,と ¥}、を除いて grepと同じ種類の
  1201.     正規表現を使用できます。 egrep では、さらに次のものが使用できます。
  1202.  
  1203.         *    正規表現(1文字だけでなく)とそれに続くアスタリス
  1204.             ク `*' は、 0 個以上の1文字正規表現と一致します。
  1205.             一致する対象が複数個ある場合は、できるだけ左端に近
  1206.             い最長の正規表現と一致します。
  1207.  
  1208.         +    正規表現とそれに続く正符号 `+' は、 1 個以上の1文
  1209.             字正規表現と一致します。一致する対象が複数個ある場
  1210.             合は、できるだけ左端に近い最長の正規表現と一致しま
  1211.             す。
  1212.  
  1213.         ?    正規表現とそれに続く疑問符 `?' は、 0 個以上1文字
  1214.             正規表現と一致します。一致する対象が複数個ある場合
  1215.             は、できるだけ左端に近い最長の正規表現と一致します。
  1216.  
  1217.         |    代替。 2 つの正規表現を `|' または改行で区切った場
  1218.             合は、いずれかの正規表現に一致するものと一致します。
  1219.  
  1220.         ()    かっこで囲んだ正規表現はその正規表現に一致するもの
  1221.             と一致します。
  1222.  
  1223.     演算子の優先順位は、高いものから、 `[ ]' (文字分類)、`*' `+' `?'
  1224.     (クロージャ)、 `|' (代替)および改行となっています。
  1225.  
  1226. 【使用例】
  1227.     1 つのファイルを処理するときにだけファイル名を表示するには、nulを
  1228.     2 番目のファイルとして使用します。
  1229.  
  1230. 【関連項目】
  1231.     vi(1m)        regexp(7)
  1232.  
  1233. 【使用上の留意点】
  1234.     1 行の長さは最大 1024 文字までとします。それより長い行は切り捨てら
  1235.     れます。
  1236.  
  1237. 【診断】
  1238.     一致するものがあった場合の終了ステータスは 0、一致するものがなかっ
  1239.     た場合には 1、構文エラーまたはアクセス不能エラーがあった場合には 2
  1240.     となります。
  1241.  
  1242. 【その他】
  1243.     GNU 版の grep コマンドです。
  1244. /***head***/
  1245. HEAD(1M)                      Mac-Shell Command                       HEAD(1M)
  1246.  
  1247. 【名前】
  1248.     head - ファイルの先頭部分の出力
  1249.  
  1250. 【形式】
  1251.     head [-<n>] [filename[...]]
  1252.  
  1253. 【オプション】
  1254.     -<n>    出力行数の指定(省略時=10行)
  1255.  
  1256. 【解説】
  1257.     指定した各ファイルの先頭部分を指定行だけ出力します。ファイルが2つ以
  1258.     上指定された場合にはファイル名も出力されます。
  1259.  
  1260.     % head -5 file1.c file2.c
  1261.     ==> file1.c <==
  1262.     /*
  1263.      *    FILE1.C
  1264.      */
  1265.     #include <stdio.h>
  1266.     #include <dir.h>
  1267.  
  1268.     ==> file2.c <==
  1269.     /*
  1270.      *    FILE2.C
  1271.      */
  1272.  
  1273.     #include <stdio.h>
  1274.     %
  1275.  
  1276. 【関連項目】
  1277.     cat(1m)        tail(1m)
  1278. /***look***/
  1279. LOOK(1M)                      Mac-Shell Command                       LOOK(1M)
  1280.  
  1281. 【名前】
  1282.     look - 英単語辞書の検索
  1283.  
  1284. 【形式】
  1285.     look string [...]    英和辞書を引く(string で始まる英単語の表示)
  1286.     look <日本語> [...]    和英字書を引く(string の意味を含む単語の表示)
  1287.  
  1288. 【解説】
  1289.     英単語辞書から string で始まる英単語全てを表示します。また、string
  1290.     に日本語を指定すると和英検索となり string で指定された日本語の意味
  1291.     を持つ単語を全て表示します。
  1292.  
  1293. 【ファイル】
  1294.     */english.dic        英単語辞書
  1295.                 (ディレクトリは Msh コマンドのある所)
  1296.  
  1297. 【関連項目】
  1298.     looktool(1m)
  1299.  
  1300. 【その他】
  1301.     現在のこのコマンドは英単語辞書の検索のために作られたもので、 unix
  1302.     の同名のコマンドとは仕様が異なっています。
  1303.  
  1304.     look は Y.Tuda 作成のコマンドです。
  1305. /***ls***/
  1306. LS(1M)                        Mac-Shell Command                         LS(1M)
  1307.  
  1308. 【名前】
  1309.     ls - ディレクトリの内容の表示
  1310.  
  1311. 【形式】
  1312.     ls [-RadCxLlrtFsX1] [FILES.....]
  1313.  
  1314. 【オプション】
  1315.     -1    ファイル名だけを一行一ファイル形式で表示する。標準出力がブ
  1316.         ロックデバイス(ディスク)に接続されている時のデフォルト出力
  1317.         形式である。
  1318.     -C    ファイル名だけを縦方向に整列して表示する。標準出力が非ブロ
  1319.         ッデバイス(コンソールなど)に接続されている時のデフォルト出
  1320.         力形式である。
  1321.     -F    実行可能ファイルの名前の後に'*'を、ディレクトリの後ろに は
  1322.         '/'、エイリアスの後ろには '@' を付加して表示する。
  1323.     -R    ディレクトリの下のファイル全てを再帰的に表示する。
  1324.     -S    ソートしない。ファイルはディレクトリに格納されている順番で
  1325.         出力される。
  1326.     -X    ファイルをその大きさでソートする。
  1327.     -a    隠しファイルや '.', '..' で始まるファイル名も表示する。
  1328.     -d    ファイルがディレクトリであった場合には、その中に含まれるフ
  1329.         ァイルを表示せずディレクトリの名前そのものを表示する。
  1330.     -l    ファイルについての詳細な情報を表示する - ファイル属性、 更
  1331.         新日時、大きさ、ファイル名。一行一ファイル形式で出力される。
  1332.     -L    機種依存情報の出力する。(UNIX にはないオプション)
  1333.     -r    ソートの順番を逆にする。
  1334.     -s    ファイルの大きさをファイル名の前に付加して表示する。大きさ
  1335.         の単位は1024バイト
  1336.     -t    ファイルをその更新日時でソートする。最近に更新されたファイ
  1337.         ルが先頭に表示される。
  1338.     -x    '-C' に似ているが横方向にソートする。
  1339.  
  1340. 【解説】
  1341.     ls は FILES に関する様々な情報を様々な形式で表示する。FILES が指定
  1342.     されなかった場合には ls は現ディレクトリの内容を、ファイル名の順番
  1343.     にソートして表示する。
  1344.     なお、ls の表示するファイルサイズは Msh の場合にはデータフォークの
  1345.     サイズのみです。(-L オプションでリソースフォークも表示される)
  1346.  
  1347.     -l オプションが指定された時に出力されるファイルの属性情報は7文字か
  1348.     らなる。各文字は次のような意味を持っている。
  1349.  
  1350.         d : ファイルはディレクトリである
  1351.         a : アーカイブビットが立っている(アーカイブビットとは何?)
  1352.         h : 隠しファイルである
  1353.         r : 読み込み可能
  1354.         w : 書き込み可能
  1355.         x : 実行可能(ディレクトリの場合にも属性は立っている。これはUNIX
  1356.         から来た習慣である)
  1357.         - : 対応する属性を持っていないことを示す。
  1358.  
  1359.     -L オプションが指定された場合には、次の機種依存情報を表示する。
  1360.         Macintosh(Msh) の場合
  1361.         リソースフォークのバイト数(データフォークサイズの次)
  1362.         ファイルタイプ
  1363.         クリエータータイプ
  1364.         ファイル属性    FInfo の fdFlags
  1365.         ディレクトリの場合 ディレクトリID
  1366.  
  1367.          例:
  1368.           % ls -Ld applMsh.c cmd
  1369.  
  1370.             リソースフォークバイト数       Type Creat フラグ
  1371.                  ↓            ↓   ↓   ↓
  1372.           ----rw-    5238    414 Aug  9 1994 03:40 TEXT TSvi 0100 applMsh.c
  1373.           d---rwx       0      0 Aug 13 1994 00:17      3374 0100 cmd/
  1374.                                  ↑
  1375.                             ディレクトリID
  1376. /***mkdir***/ rmdir
  1377. MKDIR(1M)                     Mac-Shell Command                      MKDIR(1M)
  1378.  
  1379. 【名前】
  1380.     mkdir - ディレクトリ作成
  1381.     rmdir - ディレクトリ消去
  1382.  
  1383. 【形式】
  1384.     mkdir [-p] <directory> [...]    ディレクトリ作成
  1385.     rmdir <directory> [...]        ディレクトリ消去
  1386.  
  1387. 【オプション】
  1388.     -p    親ディレクトリがない場合に必要に応じて作成する
  1389.  
  1390. 【解説】
  1391.     ディレクトリの作成及び削除を行います。
  1392. /***mv***/
  1393. MV(1M)                        Mac-Shell Command                         MV(1M)
  1394.  
  1395. 【名前】
  1396.     mv - ファイルの移動
  1397.  
  1398. 【形式】
  1399.     mv [-ivfbu] file1 file2
  1400.     mv [-ivfbu] file1 ... filen directory
  1401.  
  1402. 【オプション】
  1403.     -i    対話モード(移動先ファイルが存在する場合には確認する)
  1404.     -v    どのファイルをどこに移動しているのかを逐一表示する
  1405.     -f    書き込み不可ファイルは属性を変えて強制的に移動する
  1406.     -b    通常ファイルのコピーで、かつ移動先ファイルが存在する時には名
  1407.         前を*.bakに変えて保存する。たとえば
  1408.             mv -b foo bar.c
  1409.         で、bar.cが存在する時にはbar.cの内容をbar.bakに保存する。
  1410.     -u    通常ファイルのコピーで、かつ移動先ファイルが移動元ファイルよ
  1411.         り新しいか同時刻の既存ファイルであれば、移動を行わない。なお、
  1412.         移動を行わなかった旨のメッセージは表示されないので注意。
  1413.  
  1414. 【解説】
  1415.     mv はファイルを移動します。
  1416.  
  1417.     1. file1 を file2 に移動する。file2 はディレクトリであってはならな
  1418.        い
  1419.     2. 複数のファイル file1...filen を directory に同じ名前で移動する。
  1420.        directory は存在するディレクトリでなければならない。
  1421.  
  1422.     移動先は違うドライブであっても良い。その場合には実際にはファイルを
  1423.     コピーした後、元のファイルを削除する。また、移動対象ファイルがディ
  1424.     レクトリであった場合には、ディレクトリ下のファイル構造を保存したま
  1425.     ま全体を移動する。たとえば,
  1426.  
  1427.         usr/local/foo/a
  1428.         usr/local/foo/a/b
  1429.         usr/local/foo/c
  1430.  
  1431.     というようにfoo以下にファイルが配置されていたとする。ここで
  1432.         mv /usr/local/foo /etc/
  1433.     を実行すると、結果次のようになる(ただし/etcディレクトリはすでに存
  1434.     在していたとする)。
  1435.  
  1436.         etc/foo/a
  1437.         etc/foo/a/b
  1438.         etc/foo/c
  1439.  
  1440. 【注意】
  1441.     ファイルを同じファイルに移動すること、たとえば
  1442.  
  1443.         mv foo foo
  1444.  
  1445.     は避けた方がよい。大低の場合、 mv はこのようなケースを検出してエラ
  1446.     ーを出すが、もしかするとチェックにもれることもないとは言えない。少
  1447.     くとも作者は保証できない。最悪の場合にはファイルの内容が失われる。
  1448.  
  1449. 【関連項目】
  1450.     cp(1m)
  1451. /***man***/
  1452. MAN(1M)                       Mac-Shell Command                        MAN(1M)
  1453.  
  1454. 【名前】
  1455.     man - オンライン・マニュアルの表示
  1456.  
  1457. 【形式】
  1458.     man [options] [section] title
  1459.     man [options] -k [section] [keyword [...]]
  1460.  
  1461. 【オプション】
  1462.     -I            : 大文字小文字を区別する
  1463.     -k keyword... : キーワードによりタイトルを捜す
  1464.     -M<man-dir>   : マニュアルファイルのディレクトリを指定
  1465.     -v            : 使用方法の表示
  1466.  
  1467. 【解説】
  1468.     man はマニュアルからの情報を表示します。 man は title で選択したマ
  1469.     ン・ページの全内容を表示するか、または keyword (-k) によって選択す
  1470.     る 1 行の要約を表示できます。
  1471.  
  1472.     section が与えられた場合、これはコマンド行でこれに続く title  に適
  1473.     用されます。man はマニュアルの指定された項で title を探します。
  1474.     section    は数字(この後にマン・ページの種類を示す1文字が続く)です。
  1475.     section    を省略すると、全ての項目を探し、順番にマニュアルを出力しま
  1476.     す。もし、1つも見つからなければ、エラー・メッセージを出力します。
  1477.  
  1478.     [メタキャラクタ(新機能)]
  1479.     うろ覚えの関数なども、簡単に引けるように title と keyword に  Unix
  1480.     風のメタキャラクタ(正規表現とも言う)を使用できます。代表的な物を
  1481.     下に説明します。なお、詳細は regexp(7) を参照して下さい。
  1482.  
  1483.         .    任意の一文字
  1484.         *    直前の文字(メタキャラクタも)の0回以上の繰り返し
  1485.         [...]    括弧内のどれか1文字([a-z] 全ての英小文字)
  1486.         [^...]    括弧内の文字に該当しない1文字
  1487.  
  1488.     使用例
  1489.         man  .*copy.*        "copy" を含むタイトル全て
  1490.         man  [0-9].*        先頭が数字のタイトル全て
  1491.  
  1492.     [マニュアル表示時のキー]
  1493.         ^C, q, Q    終了する
  1494.         j, J, Return    1行前進(↓ キーでも可)
  1495.         k, K        1行後退(↑ キーでも可)
  1496.         SPACE, f, F, ^F    1頁前進(ROLL-UP キーでも可)
  1497.         b, B, ^B    1頁後退(ROLL-DOWN キーでも可)
  1498.         d, D, ^D    半頁前進
  1499.         u, U, ^U    半頁後退
  1500.         g        先頭にジャンプ
  1501.         G, $        最後にジャンプ
  1502.         ^L        再表示
  1503.         x        次のマン・ページに移る(なければ終了)
  1504.         /, ?        文字列検索(正規表現は不可)
  1505.         n, N        前方/後方検索(検索は循環します)
  1506.  
  1507.         :<コマンド>    コマンドラインモード
  1508.             1, $    先頭/最後にジャンプ
  1509.             n    次のマン・ページへ
  1510.             q, q!    終了
  1511.             !<cmd>    外部コマンドの実行
  1512.  
  1513.     [キーワード検索]
  1514.     一覧ファイル(*/whatis)を検索しキーワードで指定されたタイトルを探
  1515.     し出します。
  1516.  
  1517.     キーワードで指定されたもの全てにマッチするタイトルを探し表示します。
  1518.     検索の方法は、キーワードで指定された文字列があるかどうか調べている
  1519.     だけです。
  1520.     なお、検索は同じ意味の言葉でもいろいろの表現(例:削除→消去,消す)
  1521.     がされているため通常の文字列検索ではうまくゆきません。そこで、 man
  1522.     では別名定義ファイル(*/manfind.ail) を使いキーワードで指定された
  1523.     語と同じ意味を持つ文字列がある場合には検索が成功されたとみなすよう
  1524.     にしています。このファイルに、別名を追加していく事により検索が容易
  1525.     になっていきます。
  1526.  
  1527.     [manfind.ail の一部]
  1528.         file    ファイル
  1529.         del    デリート    削除    消す
  1530.         output    アウトプット    出力
  1531.         put    プット        出力
  1532.         read    リード        読    入力
  1533.  
  1534.     [実行例]
  1535.         % man -k file del
  1536.         del(1)        ファイルの削除  (COMMAND.COM 内部コマンド)
  1537.         rm(1m)        ファイルを削除する
  1538.         cut(1m)        ファイルの各行から特定のフィールドを削除
  1539.         remove(3)    ファイルの削除
  1540.         rmdir(3)    ファイルディレクトリの削除
  1541.         unlink(3)    ファイルの削除
  1542.  
  1543. 【セクション】
  1544.     用意されているマニュアルのセクションは、次のようになっています。
  1545.  
  1546.         1    コマンド
  1547.         2    システム・コール(Macの場合 Toolbox)
  1548.         3    Cランタイム・ライブラリ    (現在なし)
  1549.         4    特殊ファイル            (現在なし)
  1550.         5    ファイル・フォーマット
  1551.         6    ゲーム/デモ            (現在なし)
  1552.         7    色々な情報
  1553.         8,9    未使用
  1554.  
  1555.     現在あるマニュアルのセクションはこのようになっています。
  1556.  
  1557.         1m    Msh コマンド
  1558.         2*    Toolbox リファレンス
  1559.         3    Cライブラリ
  1560.         5    ファイルフォーマット
  1561.         5m    Msh コマンドのファイルフォーマット
  1562.         7    色々な情報
  1563.         7c    C言語の色々な情報
  1564.  
  1565. 【ファイル】
  1566.     */man?x.hlp    マニュアル内容
  1567.     */man.idx    インデックスファイル(manmnt(1m) でメンテナンス)
  1568.     */whatis    一覧ファイル
  1569.     */manfind.ail    キーワード別名定義ファイル
  1570.  
  1571.     ディレクトリ    Msh のあるフォルダーの "Manual" フォルダー
  1572.  
  1573. 【関連項目】
  1574.     manmnt(1m)    man(5m)        regexp(7)
  1575.  
  1576. 【注意】
  1577.     マニュアルファイルを変更した場合には manmnt コマンドで必ずインデッ
  1578.     クスファイルを更新する必要があります。
  1579.  
  1580.     現在プログラムの制限で、1つのタイトルのマニュアルが 30KB を越えて
  1581.     いる場合は後ろが切れます。(Mac版では 60KB)
  1582.  
  1583. 【その他】
  1584.     この man は、UNIX の同名のコマンドと動作が大幅に異なります。
  1585. /***manmnt***/
  1586. MANMNT(1M)                    Mac-Shell Command                     MANMNT(1M)
  1587.  
  1588. 【名前】
  1589.     manmnt - オンライン・マニュアルのメンテナンス
  1590.  
  1591. 【形式】
  1592.     manmnt  [options]
  1593.  
  1594. 【オプション】
  1595.     -M<man-dir>    マニュアルファイルのディレクトリを指定
  1596.     -u        インデックスファイルの更新
  1597.     -t        インデックスファイル内容の表示
  1598.     -w<help-file>    whatis ファイル用タイトル出力
  1599.  
  1600. 【解説】
  1601.     マニュアルファイル(*.hlp)からインデックスファイル(*.idx)を作成
  1602.     します。
  1603.  
  1604. 【ファイル】
  1605.     */man?x.hlp    マニュアル内容
  1606.     */man.idx    インデックスファイル
  1607.     */whatis    一覧ファイル
  1608.  
  1609.     ディレクトリ    Msh のあるフォルダーの "Manual" フォルダー
  1610.  
  1611. 【関連項目】
  1612.     man(1m)        man(5m)
  1613.  
  1614. 【注意】
  1615.     マニュアルファイルを変更した場合には manmnt コマンドで必ずインデッ
  1616.     クスファイルを更新する必要があります。
  1617.  
  1618. 【使用例】
  1619.     1) man.idx の更新
  1620.         % manmnt -u
  1621.  
  1622.     2) whatis 用タイトルの作成
  1623.         % manmnt -wman1u.hlp > work
  1624.         % ** whatis をエディタで修正 **
  1625.  
  1626. 【その他】
  1627.     manmnt は Y.Tuda/Tom 作成の拡張コマンドです。
  1628. /***rm***/
  1629. RM(1M)                        Mac-Shell Command                         RM(1M)
  1630.  
  1631. 【名前】
  1632.     rm - ファイルを削除する
  1633.  
  1634. 【形式】
  1635.     rm [-riIfv] file..
  1636.  
  1637. 【オプション】
  1638.     -r    file  がディレクトリであった場合に、ディレクトリ下の全ファ
  1639.         イルを再帰的に削除する。このオプションが指定されなかった場
  1640.         合には、ディレクトリを削除しようとするとエラーになる。
  1641.     -i    各ファイルを削除する前に確認する。
  1642.     -I    -i オプションがこの前に指定されていればそれを無効にする。
  1643.     -f    書き込み不可ファイル、隠しファイルも削除する。典型的には
  1644.             rm -rf DIRECTORY
  1645.         のようにして、ディレクトリを全削除する時に使われる。このオ
  1646.         プションが指定されていなかった場合に、書き込み不可ファイル
  1647.         を削除しようとした場合には確認を取り、隠しファイルはそもそ
  1648.         も削除対象とならない。
  1649.     -v    どのファイルが削除されているのかを逐一表示する。
  1650.  
  1651. 【解説】
  1652.     rm はファイルを削除します。
  1653. /***sort***/
  1654. SORT(1M)                      Mac-Shell Command                       SORT(1M)
  1655.  
  1656. 【名前】
  1657.     sort - ファイルの整列, マージ
  1658.  
  1659. 【形式】
  1660.     sort [-brnfu] [-t c] [-o outfile]
  1661.          [+n1[.m1][brnf] [-n2[.m2][b]] …] [FILES…]
  1662.  
  1663. 【オプション】
  1664.     -b    フィールドの位置を決めるときに、フィールドの先頭の空白を無視
  1665.     -r    ソートの順序を逆にする
  1666.     -n    文字列としてでなく、数値とみての比較を行う
  1667.     -f    ソートの際、英字の大文字小文字を区別しない
  1668.     -u    比較の結果同じと見なされる行が複数ある場合、そのうち1つだけを
  1669.         出力し他は捨てる。「同じと見なされる」かどうかは他の比較オプ
  1670.         ションに依存し、必ずしも全くの同一行だけが捨てられるのではない
  1671.     -t c    フィールドの区切り文字をcにする
  1672.     +n1.m1 -n2.m2
  1673.         ソートするにあたって、比較対象を第n1フィールドの第
  1674.         m1文字目から、第n2フィールドの第m2文字目の直前までとする。m1
  1675.         やm2を略するとフィールドの先頭になり、また、-n2.m2を略すると
  1676.         行末までが比較対象となる。このオプションは繰り返し指定できる。
  1677.         なお、sortコマンドでは、最初のフィールドを第0フィールドと数え、
  1678.         フィールドの最初の文字を第0文字目と数えるので注意のこと
  1679.  
  1680. 【解説】
  1681.     sort はFILES の各行をASCIIコード順にソートし、結果を標準出力に出す。
  1682.     オンメモリでソートできない場合、一時ファイルを作る。
  1683.  
  1684. 【バグ】
  1685.     フィールドの区切り文字には2バイト文字も使える。しかし、それ以外で
  1686.     は漢字を意識していないので、フィールド内の位置決めなどにあたって
  1687.     は、漢字は2文字と数える。
  1688.  
  1689.     UNIXのsortコマンドとほぼ同じ動作になるよう配慮して設計はしたが、
  1690.     細部で動作が異なる部分があるかも知れない。(何せUNIXのsortコマンド
  1691.     のマニュアルはambiguityが大きく、そのような部分では動作実験によっ
  1692.     て仕様を推定せざるを得なかったため)
  1693.  
  1694.     現在のところ、効率はあまり考えずに作ってあるので遅い。
  1695. /***tail***/
  1696. TAIL(1M)                      Mac-Shell Command                       TAIL(1M)
  1697.  
  1698. 【名前】
  1699.     tail - ファイルの一部分だけを表示する
  1700.  
  1701. 【形式】
  1702.     tail [-|+][#][clb][rh] [file...]
  1703.  
  1704. 【オプション】
  1705.     +数字    指定された行(または文字、ブロック)数だけファイル先頭からス
  1706.         キップして、以降を表示する。
  1707.  
  1708.     -数字    <file>  の最後の指定された行(または文字、ブロック)数だけを
  1709.         表示する。
  1710.  
  1711.         c    文字を単位としてスキップ/出力する
  1712.         l    行を単位としてスキップ/出力する(デフォルト)
  1713.         b    ブロック(512バイト)を単位としてスキップ/出力する
  1714.  
  1715.         r    ファイルの内容を行毎に最後から逆に表示する。数字が
  1716.             指定されなかった場合にはファイルの全内容を逆順に表
  1717.             示し、数字が指定された場合には指定された行数だけフ
  1718.             ァイルの内容を逆順に表示する。
  1719.             表示の単位は行に限られ、文字やブロック単位ではでき
  1720.             ない。
  1721.         h    ファイルを複数指定すると、デフォルトでは各ファイル
  1722.             出力の先頭にへッダを付加する。
  1723.             このオプションを指定するとへッダを出力しない。
  1724.  
  1725. 【解説】
  1726.     tail は <file> の内容を指定された位置から表示します。
  1727.  
  1728. 【使用例】
  1729.     % tail ファイル名    …  最後の10行を表示
  1730.     % tail -20 ファイル名    …  最後の20行を表示
  1731.     % tail +10 ファイル名    …  10行目からファイルの最後まで表示
  1732.     % tail -5r ファイル名    …  最後の5行を逆に表示
  1733.         12        16
  1734.         13        15
  1735.         14    ----->    14        最後の5行
  1736.         15        13
  1737.         16        12
  1738.  
  1739.     % tail -2b ファイル名    …  最後の 2 block を表示します
  1740.         注意    1 block は 512 Byteです。もしも block の切れ目に漢
  1741.             字データがある場合、正しく表示されない事があります。
  1742.  
  1743.     % tail -10j ファイル名    …  最後の10文字を表示します。
  1744.         注意    改行も1文字として数えます。
  1745.  
  1746. 【注意】
  1747.     tail はファイルの内容をメモリ中に保持するため表示すべき内容が 巨大
  1748.     になった場合には処理に失敗することがある。
  1749.  
  1750.     一行の長さが1024バイトを越えた場合には結果は保証されない。
  1751.  
  1752.     ファイル末の EOF(^Z) 文字はたまに誤って処理され、 行(文字)数がくる
  1753.     うこともあります。
  1754.  
  1755. 【関連項目】
  1756.     head(1m)
  1757. /***vi***/
  1758. VI(1M)                        Mac-Shell Command                         VI(1M)
  1759.  
  1760. 【名前】
  1761.     vi - Steive エディターの呼び出し
  1762.  
  1763. 【形式】
  1764.     vi  [file...]
  1765.  
  1766. 【解説】
  1767.     Stevie が起動されていなければ起動し、指定されたファイルを開きます。
  1768.     この時、ファイルが指定されなければ Stevie を表にもってくるだけです。
  1769.  
  1770. 【アニュアル】
  1771.  
  1772.  
  1773.     STEVIE - vi「を目指した」エディター
  1774.  
  1775.         ユーザーレファレンス - 3.69/J1.3/M1.0.0
  1776.  
  1777.         Tony Andrews 著     太田純 訳
  1778.         (Macintosh 版 加筆  小山富夫)
  1779.  
  1780.         注意: このマニュアルは、全機種共通のものです
  1781.  
  1782.   1. 序章
  1783.  
  1784.     STEVIE は UNIX のエディター vi のインターフェースを真似てデ
  1785.     ザインされたエディターです。この名前  (ST  Editor  for  VI
  1786.     Enthusiasts)は、このエディターが最初に Atari ST のために書か
  1787.     れたことから来ています。現在のバージョンでは  UNIX、Minix
  1788.     (ST)、MS-DOS、OS/2 もサポートされていますが、名前はそのまま
  1789.     にしてあります。
  1790.  
  1791.     このプログラムはここ2年間の徹夜ハッキングの成果です。元とな
  1792.     ったバージョンは  Tim Thompson によって書かれ、USENET にポス
  1793.     トされました。これを出発点に、私はデータ構造を完全に書き直し、
  1794.     数々の機能を追加し、エディター全体の効率を改善しました。
  1795.  
  1796.     私はSTEVIE のことを vi「を目指した」エディターと述べました。
  1797.     これは、あまりに多くを望む人々への警告です。とは言うものの、
  1798.     全体としてこのエディターはかなり完全です。画面モードのコマン
  1799.     ドはほぼすべてがサポートされており、より重要な ex コマンドの
  1800.     いくつかもサポートされています。私は、細かい動作まで正しく行
  1801.     われるようにすることによって、vi  に近い感触が得られるように
  1802.     力を尽くしました。行の折り畳みが正しく行われるようにすること、
  1803.     正しい操作コマンドのサポート、タブに対して正しい位置にカーソ
  1804.     ルが置かれるようにすることなどは大変でしたが、エディターの使
  1805.     用感をviに近付けるためにはとても役に立っています。私はまた、
  1806.     オリジナルの設計には賛成できない場合でも、vi の振舞いから逸
  1807.     脱したいという誘惑に何とか抵抗してきました。
  1808.  
  1809.     残された最大の問題は、編集バッファー全体がメモリー上で管理さ
  1810.     れているということです。これにより、環境によっては編集できる
  1811.     ファイルの大きさが制限されることがあります。その他不足してい
  1812.     る機能には、名前付きバッファーとマクロなどがあります。実行速
  1813.     度はおよそ満足できるものですが、画面更新のコードについてはよ
  1814.     り効率的にすることが可能でしょう。この点は一般に、かなり遅い
  1815.     システムでなければ感じられません。
  1816.  
  1817.     STEVIE は自由に配布してかまいません。ソースは著作権で守られ
  1818.     ておらず、いかなる意味でも制限を与えられていません。読者がこ
  1819.     のプログラムを他人に譲るなら、すべてのドキュメントを、できれ
  1820.     ばソースも、含めてください。この点に特にこだわるつもりはあり
  1821.     ませんが、私は STEVIE をかなり移植しやすいようにしてきました
  1822.     し、できるだけ多くの人々がソースを見ることができるようになっ
  1823.     て欲しいのです。
  1824.  
  1825.     このドキュメントの残りの部分では、このエディターの操作方法に
  1826.     ついて述べています。すでに本物の vi に馴染んでいるユーザーに
  1827.     対するレファレンスとなるように書かれています。
  1828.  
  1829.  
  1830.   2. 形式
  1831.  
  1832.     次のコマンド形式が利用できます。
  1833.  
  1834.     stevie [ファイル ...]    指定されたファイルを編集する
  1835.     stevie -t タグ        与えられたタグの位置から編集を開始する
  1836.     stevie + ファイル    ファイルの末尾から編集を開始する
  1837.     stevie +行番号 ファイル    指定行から編集を開始する
  1838.     stevie +/パターン ファイル
  1839.                 指定されたパターンを持つ行から編集を開始する
  1840.  
  1841.     コマンド行に(最初の形式を使って)複数のファイルを指定した場
  1842.     合、:n コマンドによって次のファイル、:N によって前のファイル
  1843.     に移ることができます。:rew を使えばファイルリストの先頭に戻
  1844.     ることもできます。
  1845.  
  1846.     起動時実行ファイル (小山 加筆)
  1847.         UNIX, Minix    .stevierc
  1848.         TOS, OS/2, DOS    stevie.rc
  1849.         Macintosh    _exrc
  1850.  
  1851.  
  1852.   3. コマンドオプションの設定
  1853.  
  1854.     :set コマンドを使うと、各種パラメーターを設定することができ
  1855.     ます。パラメーターはそれぞれ長い名前と省略名を持っており、い
  1856.     ずれを使うこともできます。真偽値パラメーターは次のように設定
  1857.     します。
  1858.         set showmatch
  1859.  
  1860.     解除するときは次のようにします。
  1861.         set noshowmatch
  1862.  
  1863.     数値パラメーターは次のように設定します。
  1864.         set scroll=5
  1865.  
  1866.     複数のパラメーターを1つのコマンドで設定することもできます。
  1867.         set novb sm report=1
  1868.  
  1869.     すべてのパラメーターの状態を見るときは、:set all としてくだ
  1870.     さい。何も引数を与えずに :set とすると、変更されたパラメータ
  1871.     ーだけが表示されます。利用できるパラメーターの名前、省略名、
  1872.     初期値、説明を以下に示します。
  1873.  
  1874.     autoindent    省略名: ai、初期値: noai、タイプ: 真偽値
  1875.             挿入モードで改行したとき、新しい行を直前の行と同
  1876.             じコラムから始める。本物の vi と異なり、字下げの
  1877.             位置より前まで削除することができる
  1878.  
  1879.     backup        省略名: bk、初期値: nobk、タイプ: 真偽値
  1880.             ファイルに書き出す際に、バックアップファイルを残す
  1881.  
  1882.     errorbells    省略名: eb、初期値: noeb、タイプ: 真偽値
  1883.             エラーメッセージが表示されるときにベルを鳴らす
  1884.  
  1885.     ignorecase    省略名: ic、初期値: noic、タイプ: 真偽値
  1886.             文字列探索を行う場合に、英字の大小を区別しない
  1887.  
  1888.     lines        省略名: lines、初期値: lines=25、タイプ: 数値
  1889.             画面上に実際に表示できる行数初期値は実際には計算
  1890.             機に依存するが、一般には 25 である
  1891.  
  1892.     list        省略名: list、初期値: nolist、タイプ: 真偽値
  1893.             タブと改行を表示文字として表示する
  1894.  
  1895.     modelines    省略名: ml、初期値: noml、タイプ: 真偽値
  1896.             ファイル中のモード行の処理を許可する
  1897.  
  1898.     number        省略名: nu、初期値: nonu、タイプ: 真偽値
  1899.             画面上の各行を行番号つきで表示する
  1900.  
  1901.     report        省略名: report、初期値: report=5、タイプ: 数値
  1902.             操作が行われたことが報告される最小の行数
  1903.  
  1904.     return        省略名: cr、初期値: cr、タイプ: 真偽値
  1905.             ファイルに書き出す際に行末を復帰・改行にする
  1906.  
  1907.     scroll        省略名: scroll、初期値: scroll=12、タイプ: 数値
  1908.             ^D および ^U コマンドによってスクロールする行数
  1909.  
  1910.     showmatch    省略名: sm、初期値: nosm、タイプ: 真偽値
  1911.             )、}、] が入力されたとき、対応する (、{、[ が画
  1912.             面上にあれば、カーソルを短時間そこに移動すること
  1913.             によって知らせる
  1914.  
  1915.     showmode    省略名: mo、初期値: nomo、タイプ: 真偽値
  1916.             挿入モードにいるかどうかを最下行に表示する
  1917.  
  1918.     tabstop        省略名: ts、初期値: ts=8、タイプ: 数値
  1919.             1文字のタブを表す空白の数
  1920.  
  1921.     terse        省略名: terse、初期値: noterse、タイプ: 真偽値
  1922.             このオプションは現在のところ無視される。vi との
  1923.             互換性のためだけに用意されている
  1924.  
  1925.     tildeop        省略名: to、初期値: noto、タイプ: 真偽値
  1926.             これが設定されている場合、チルド ~ は(c、d、y
  1927.             と同じように)オペレーターとして扱われる。設定さ
  1928.             れていなければ通常どおりの動作を行う
  1929.  
  1930.     wrapscan    省略名: ws、初期値: ws、タイプ: 真偽値
  1931.             文字列探索の際にファイルの一端に到達すると、もう
  1932.             一方の端から探索を継続する
  1933.  
  1934.     vbell        省略名: vb、初期値: vb、タイプ: 真偽値
  1935.             可能なら表示ベルを使う(novb ではベル音になる)
  1936.  
  1937.     環境変数 EXINIT を使うと、起動時の初期値を次のように変更する
  1938.     ことができます。
  1939.         UNIX などの場合        setenv EXINIT="set sm ts=4"
  1940.         MS-DOS、OS/2 などの場合    set EXINIT=set sm ts:4 
  1941.         Macintosh の場合    Edit-Preferences メニューで設定    
  1942.  
  1943.     backup パラメーターが設定されていれば、エディターは書き出す
  1944.     すべてのファイルについてバックアップを保存します。ファイルに
  1945.     書き出している間は、安全のため常にバックアップが保存されてい
  1946.     ます。書き出しが終了した時点で、backup  パラメーターの設定に
  1947.     よってバックアップファイルが削除されるかどうかが決まります。
  1948.  
  1949.     通常の行末が復帰・改行であるような環境(たとえば MS-DOS、
  1950.     OS/2、TOS)では、return パラメーターを解除することによって、
  1951.     行末が改行だけになるようにファイルを書き出させることができま
  1952.     す。このパラメーターは UNIX 上では無視されます。
  1953.  
  1954.     linesパラメーターは、画面が何行あるかをエディターに伝えます。
  1955.     これはたとえば  ST (や EGA アダプター付きの OS/2 機)のよう
  1956.     に複数の画面解像度を持ったシステムでは有用です。lines パラメ
  1957.     ーターを使うことにより、複数の画面サイズが簡単に扱えます。
  1958.  
  1959.  
  1960.   4. 行編集コマンド
  1961.  
  1962.     STEVIE は、本物の vi が持つ行編集コマンドのいくつかをサポー
  1963.     トしています。コマンドによっては行範囲の指定を前置きする必要
  1964.     があります。行範囲を受け取るコマンドでは、次の行位置指定がサ
  1965.     ポートされています。
  1966.         行位置
  1967.         行位置 + 数値
  1968.         行位置 - 数値
  1969.  
  1970.     ここで「行位置」は次のいずれかです。
  1971.         行番号
  1972.         マーク(たとえば 'a あるいは 'b)
  1973.         '.'(現在行)
  1974.         '$'(最終行)
  1975.  
  1976.     行範囲 % は 1,$ の省略形という意味になります。
  1977.  
  1978.     4.1 モード行
  1979.  
  1980.     モード行はあまり知られていませんが、しばしば有用な vi の機能
  1981.     です。この機能を使うには、ファイルの先頭あるいは末尾5行の中
  1982.     に特別な文字列を置いておきます。ファイルを編集するとき、これ
  1983.     らの文字列が見つかると、行編集コマンドとして入力されたかのよ
  1984.     うに処理されます。これが有用となる1つの例として、ファイル単
  1985.     位で  tabstop パラメーターを設定する場合があげられます。次は
  1986.     モード行の例です。
  1987.  
  1988.         vi:set ts=4 noai:
  1989.         ex:45:
  1990.  
  1991.     モード行は、vi あるいは ex という文字列のあとにコロンで囲ん
  1992.     だコマンドを続けたものであると言うことができます。この行に他
  1993.     のテキストがあってもよく、また複数のモード行があってもかまい
  1994.     ません。複数のモード行がある場合、処理が行われる順序は保証さ
  1995.     れません。
  1996.  
  1997.     モード行の処理を可能にするには、ml パラメーターを設定してお
  1998.     きます。モード行の処理はエディターが起動された直後に行われる
  1999.     ので、このパラメーターは環境変数 EXINIT の中で設定しておきま
  2000.     す。なお、保安上の問題があるのでモード行の処理は標準では禁止
  2001.     されています。
  2002.  
  2003.     4.2 大域コマンド
  2004.  
  2005.     大域コマンドのうち限られた形式のものがサポートされており、次
  2006.     のコマンド形式が利用できます。
  2007.  
  2008.         g/パターン/X
  2009.  
  2010.     ここで X は d か p のいずれかであり、それぞれ与えられたパタ
  2011.     ーンにマッチした行を削除あるいは表示します。行範囲が指定され
  2012.     ると、その範囲の行だけがパターンにマッチするかどうか調べられ
  2013.     ます。行範囲が指定されていなければ、すべての行が対象となりま
  2014.     す。
  2015.  
  2016.     最後のコマンド文字が省略された場合、p が仮定されます。この場
  2017.     合にはその前のスラッシュも省略できます。現在のバージョンでは、
  2018.     大域コマンドによる行の削除に続く取り消し操作はサポートされて
  2019.     いません。
  2020.  
  2021.     4.3 置換コマンド
  2022.  
  2023.     置換コマンドは強力な機構を提供しており、画面モードで直接行う
  2024.     場合より複雑な置換を可能にします。このコマンドの一般的な形式
  2025.     は次のとおりです。
  2026.  
  2027.         s/パターン/置換文字列/g
  2028.  
  2029.     指定された範囲の各行(範囲が指定されなければ現在行)について、
  2030.     与えられた正規表現があるかどうか調べます。見つかると、パター
  2031.     ンにマッチした文字列は与えられた置換文字列で置き換えられます。
  2032.     置換文字列が空文字列のときは、パターンにマッチした文字列はす
  2033.     べて削除されます。
  2034.  
  2035.     最後の g を指定するかどうかは任意であり、指定した場合、各行
  2036.     に現れたすべてのパターンを置換することを示します。
  2037.  
  2038.     置換文字列中では、いくつかの特別な文字列が認識されます。アン
  2039.     パーサンド  & は、マッチしたパターン全体で置き換わります。た
  2040.     とえば、次のコマンドを使えばすべての foo や bar が二重引用符
  2041.     で囲まれます。
  2042.  
  2043.         1,$s/foo|bar/"&"/g
  2044.  
  2045.     特別な文字列 ¥n (ここで n は1〜9の数字)は、パターン中の
  2046.     対応する位置の括弧付き正規表現にマッチした文字列で置き換えら
  2047.     れます。次のコマンドは、C の関数 foo の呼び出しにおける最初
  2048.     の2つのパラメーターを交換します。
  2049.  
  2050.         1,$s/foo¥(([^,]*),([^,]*),/foo(¥2,¥1,/g
  2051.  
  2052.     大域コマンドと同様、現バージョンのエディターでは置換を取り消
  2053.     すことができません。
  2054.  
  2055.     4.4 ファイル操作コマンド
  2056.  
  2057.     次の表は、サポートされているファイル操作コマンドと、他で記述
  2058.     されていないいくつかの ex コマンドを示しています。
  2059.  
  2060.     :w        現在のファイルを書き出す
  2061.     :wq        ファイルに書き出して終了する
  2062.     :x        必要ならファイルに書き出して終了する
  2063.     ZZ        :x と同じ
  2064.  
  2065.     :e file        指定されたファイルを編集する
  2066.     :e!        変更を取り消して、現在のファイルを再編集する
  2067.     :e #        もう一方のファイルを編集する
  2068.  
  2069.     :w ファイル    編集バッファーを指定されたファイルに書き出す
  2070.     :x,yw ファイル    行 x から y までを指定されたファイルに書き出す
  2071.     :r ファイル    指定されたファイルを編集バッファーに読み込む
  2072.  
  2073.     :n        次のファイルを編集する
  2074.     :N        前のファイルを編集する
  2075.     :rew        ファイルリストの先頭に戻る
  2076.  
  2077.     :f        現在のファイル名を表示する
  2078.     :f 名前        現在のファイル名を変更する
  2079.     :x=        行位置 x の行番号を表示する
  2080.  
  2081.     :ta タグ    指定されたタグに移動する
  2082.     ^]        :ta と同じだが、カーソル位置の単語をタグとする
  2083.  
  2084.     :help        コマンド一覧を表示する
  2085.     :ve        バージョン番号を表示する
  2086.  
  2087.     :sh        対話的にシェルを実行する
  2088.     :!cmd        コマンドを実行する
  2089.  
  2090.     Atari ST の上では、<HELP> キーを押すことによっても:help コマ
  2091.     ンドを実行することができます。実際にはこのコマンドは、サポー
  2092.     トされていない機能について注が付けられた vi のコマンドの一覧
  2093.     を表示します。
  2094.  
  2095.     以上のコマンドは vi とほぼ同様の動作をします。ほとんどのコマ
  2096.     ンドは、行われた変更を捨てるための !  後置子を(必要なら)サ
  2097.     ポートしています。
  2098.  
  2099.  
  2100.   5. 文字列探索
  2101.  
  2102.     文字列探索は vi と同様にサポートされており、通常の正規表現構
  2103.     文を使うことができます。これは、Henry Spencer の正規表現ライ
  2104.     ブラリーに手を加えたものを使うことによって行われます。私はラ
  2105.     イブラリーの外部にコードを加え、¥<  および ¥> の拡張をサポー
  2106.     トするようにしました。パラメーター ignorecase を設定すれば、
  2107.     すべての文字列探索において英文字の大小を無視させることができ
  2108.     ます。
  2109.  
  2110.  
  2111.   6. オペレーター
  2112.  
  2113.     vi のオペレーター(d、c、y、!  、<、>)は真のオペレーターと
  2114.     して働きます。パラメーター  tildeop が設定されていれば、チル
  2115.     ドコマンドもオペレーターとして使うことができます。このパラメ
  2116.     ーターは標準では設定されていません。
  2117.  
  2118.  
  2119.   7. タグジャンプ
  2120.  
  2121.     タグジャンプは実装されており、かなり単純なバージョンの ctags
  2122.     がエディターとともに提供されています。現バージョンの  ctags
  2123.     は、特定の(しかしよく使われる)形式で書かれた関数とマクロを
  2124.     探し出します。詳細な議論についてはctags.doc をご覧ください。
  2125.  
  2126.  
  2127.   8. システム特有部分の説明
  2128.  
  2129.     以下の節では STEVIE が移植されたシステムに特有な付加的な情報
  2130.     について述べています。
  2131.  
  2132.     8.1 Atari ST
  2133.     <<TOS>>
  2134.     3種類の解像度すべてについてテストされていますが、低解像度と高解像
  2135.     度については中解像度ほどテストされていません。50行高解像度モード
  2136.     では lines パラメーターを50に設定することによって 利用することが
  2137.     できます。 別のやり方として、環境変数 LINES を設定しておくこともで
  2138.     きます。エディターが自分から画面の行数を設定することはありません。
  2139.     単に指定された行数を使って動作を行うだけです。
  2140.  
  2141.     矢印キー、また <INSERT>、<HELP>、<UNDO> キーはいずれも適切にマッピ
  2142.     ングされています。
  2143.  
  2144.     <<Minix>>
  2145.     Minix の下でもかなり同じ動作をするようになっていますが、キーボード
  2146.     マッピングの多くはサポートされていません。
  2147.  
  2148.     8.2 UNIX
  2149.     エディターは 4.2 BSD と同様に UNIX System V リリース3にも移植され
  2150.     ています。これは、主にプロファイル用のデータを得るために行ったもの
  2151.     であり、 UNIX バージョンが正しい動作を行うことにはそれほど労力を掛
  2152.     けていません。termcap 関数はサポートされていますが、エディターはま
  2153.     だ必要とする端末機能についてかなりやかましく、あまり賢くない端末に
  2154.     対して賢い動作を行う努力はほとんどしません。
  2155.  
  2156.     8.3 OS/2
  2157.     この移植を行った理由は、OS/2 開発キットに付属していた エディターが
  2158.     まったくひどいものだったからです。ansi  モードがオンになっているこ
  2159.     とを(ansi コマンドを使って)確認してください。OS/2 のコンソールド
  2160.     ライバーは行の挿入・削除をサポートしていません。このため、STEVIEは
  2161.     ドライバーを迂回して直接システムコールを行っています。これはすべて
  2162.     システム依存の部分で行われているため、やっつけ仕事の部分はすくなく
  2163.     とも1ヶ所にまとめられています。
  2164.  
  2165.     矢印キー、page up/down キー、home/end キーはすべて期待どおりに働き
  2166.     ます。ファンクションキーにはいくつかの有用なマクロが割り当てられて
  2167.     います。しかしこれは、マクロがエディターに正しくサポートされるまで
  2168.     のことです。現在のマッピングは次のとおりです。are:
  2169.  
  2170.         F1    :N <復帰>
  2171.         F2    :n <復帰>
  2172.         F3    :e # <復帰>
  2173.         F4    :rew <復帰>
  2174.         F5    [[
  2175.         F6    ]]
  2176.         F7    C の宣言を擬似英語に変換する(cdecl を利用)
  2177.         F8    英語風の宣言を C の形式に変換する(cdecl を利用)
  2178.         F9    :x <復帰>
  2179.         F10    :help <復帰>
  2180.         S-F1    :N! <復帰>
  2181.         S-F2    :n! <復帰>
  2182.  
  2183.     F7 および F8 のマクロは、 cdecl プログラムが利用できることを仮定し
  2184.     ています。
  2185.  
  2186.     8.4 MS-DOS
  2187.     STEVIE は Microsoft C 5.1 を使って MS-DOS 3.3 に移植されています。
  2188.     キーボードのマッピングは  OS/2 と同じです。MS-DOS 版での唯一の問題
  2189.     は、画面更新のコードが非効率的であることが遅い機械の上で苦痛ととも
  2190.     に明らかになることです。
  2191.  
  2192.     MS-DOS 版では、行の挿入・削除が可能な拡張 コンソールドライバーが必
  2193.     要です。配布されたコードは、広く入手可能と思われる nansi.sys  に対
  2194.     応しています。
  2195.  
  2196.     8.5 Macintosh
  2197.     ・File メニューは、ほぼ Mac 標準の動きをします(印刷機能未サポート)
  2198.     ・Edit メニューの "Paste" はクリップボード上のテキストをカーソル位置
  2199.       に挿入する
  2200.     ・Edit メニューの "Undo" は u コマンドとほぼ同じ動きをする
  2201.     ・スクロールバー/ウインドウのリサイズに対応している
  2202.     ・未サポートの機能
  2203.         1. :!<command>, :sh    別プログラムの実行
  2204.  
  2205.  
  2206.   9. 実現されていない機能
  2207.  
  2208.     1. 利用できるメモリーより大きなファイルを編集する機能。
  2209.         これは私の使っている機械では問題ではありませんが、
  2210.         Minix-PC を使っている人々には相当な問題です。
  2211.     2. ファンクションキーをサポートするマクロ。
  2212.     3. より多くの set オプション。
  2213.     4. その他のさまざまな機能。
  2214.  
  2215.  
  2216.   10. 判明しているバグ、問題点
  2217.  
  2218.     1.  格納(yank)バッファーは静的に割り当てられたメモリーを使ってい
  2219.         るため、大きな格納は失敗します。削除が格納バッファーより大きな
  2220.         範囲にわたる場合、プログラムは実際にそれを行う前に確認の問い合
  2221.         わせをします。こうなっているだけですから、テキストを移動すると
  2222.         き限られた格納バッファーに戸惑わないでください。単に、一度によ
  2223.         り小さな部分を移動するだけでよいのです。すべての内部バッファー
  2224.         (格納、再実行、その他)は、メモリーを動的に割り当てるように変
  2225.         更する必要があります。ただし、取り消しバッファーだけは現在でも
  2226.         動的に割り当てられているため、すべての変更は取り消すことができ
  2227.         ます。
  2228.  
  2229.     2.  挿入モードに長時間いると挿入バッファーがあふれることがある。こ
  2230.         の場合、エディターはメッセージを表示してユーザーをコマンドモー
  2231.         ドに投げ戻します。
  2232.  
  2233.     3.  現バージョンの置換および大域コマンド(すなわち :s/foo/bar ある
  2234.         いは :g/foo/d )は取り消すことができません。これは現在の取り消
  2235.         しのためのコード設計によるものです。これらのコマンドを取り消す
  2236.         ためには、一般に途方もない量のメモリーを必要とします。
  2237.  
  2238.     4.  他にもいくつか、それほど腹立たしくない問題があります。
  2239.  
  2240.     5.  その他(追加: 小山富夫)
  2241.         ・まれに暴走する(ファイルの最後削除時など)
  2242.         ・X(カーソルの前文字消去) の複数回指定ができない
  2243.         ・:<cmd>(ex コマンド) の一部の動作が unix と異なる
  2244.  
  2245.     6. Macintosh版固有の問題
  2246.         ・全体的に処理が遅い(特に画面スクロール)
  2247.         ・:!<command> ができない
  2248.         ・Print 機能が未サポート
  2249.  
  2250.  
  2251.   12. 最後に
  2252.  
  2253.     このエディターはかなり安定した状態に至っており、私がこのエディター
  2254.     を使っているシステムでは十分な効率で動いています。このため、私は現
  2255.     在ではかなりの割り合いで保守モードにいます。行わなければならないこ
  2256.     とが、いまだにかなり残っています。画面更新のコードは依然まったく非
  2257.     効率であり、格納(yank)・書き込み(put)のコードは依然として 原始
  2258.     的です。私はまだバグの報告に興味があり、いまだ新しい機能を機会ある
  2259.     ごとに追加していますが、変更の頻度は今では下がっています。
  2260.  
  2261.     私は、このエディターの元となったバージョンを書いたことについて
  2262.     Tim  Thompson に感謝しています。彼のプログラムはよく構造化され、ま
  2263.     ったく読みやすいものでした。作業のためのよい基盤を与えてくれたこと
  2264.     に感謝します。自分自身の変更を送ってくれた多くの STEVIE のユーザー
  2265.     にも感謝します。私が受け取った多くの変更は、私のサポートするすべて
  2266.     のシステムに移植可能だったわけではありませんが、移植可能な実現方法
  2267.     を可能な限りエディターに取り入れていこうと努力しているところです。
  2268.  
  2269.     もしもあなたがこのファイルを読んでいて、 STEVIE のソースコードが入
  2270.     手できなければ、返送用の切手を付けてフロッピーディスクを下記の住所
  2271.     に送れば入手できます。こちらが書き込めるフロッピーディスクは、
  2272.         Atari ST(SS または DS)、
  2273.         MSDOS(360Kあるいは 1.2M)
  2274.     です。返送用の切手を入れることを忘れないでください。私はこのプログ
  2275.     ラムで金儲けするつもりはありませんが、かといって損をするつもりもな
  2276.     いのですから。
  2277.  
  2278.         Tony Andrews        UUCP: onecom!wldrdg!tony
  2279.         5902E Gunbarrel Ave.
  2280.         Boulder, CO 80301
  2281.  
  2282.  
  2283.   文字機能一覧
  2284.  
  2285.     次の一覧は、エディターによって使われる各文字の意味を述べてい
  2286.     ます。場合によっては、文字はコマンドモードと挿入モードでそれ
  2287.     ぞれの意味を持っていますが、これらはすべて記述されています。
  2288.  
  2289.     ^@    空文字。どのモードでも使われない。この文字はファイル
  2290.         中に現れることができない。これは vi の場合と同じであ
  2291.         る
  2292.     ^B    1画面戻る
  2293.     ^D    半画面上にスクロールする
  2294.     ^E    画面を1行上にスクロールする
  2295.     ^F    1画面進む
  2296.     ^G    :f コマンドと同じ。ファイル情報を表示する
  2297.     ^H    (後退文字)コマンドモードでは1文字左に移動する。挿
  2298.         入モードでは入力された最後の文字を消去する
  2299.     ^J    カーソルを1行下に移動する
  2300.     ^L    画面を消去・再表示する
  2301.     ^M    (復帰文字)次の行の最初の非空白文字に移動する。挿入
  2302.         モードでは入力のために新しい行を開始する
  2303.     ^N    カーソルを1行下に移動する
  2304.     ^P    カーソルを1行上に移動する
  2305.     ^U    半画面下にスクロールする
  2306.     ^Y    1行画面を1行下にスクロールする
  2307.     ^[    エスケープはコマンドモードでは入力中のコマンドを取り
  2308.         止める。また、挿入モードを終了するために使われる
  2309.     ^]    カーソルが置かれている単語が示す名前を持つタグに移動
  2310.         する
  2311.     ^`    サポートされているなら、:e # と同じ(システムに依存
  2312.         する)
  2313.     空白    カーソルを1コラム右に移動する
  2314.     !    フィルターオペレーターは常に、ある範囲の行に対して
  2315.         操作を行う。それらの行をあるプログラムの入力として渡
  2316.         し、それらをプログラムの出力によって置き換える。短縮
  2317.         コマンド  !!  を使えば、(前置する回数で指定した)数
  2318.         行をフィルターに掛けることができる。コマンド !  は最
  2319.         後に実行されたコマンドで置き換えられるので、!!!   は
  2320.         与えられた数の行を最後に指定されたコマンドに渡して実
  2321.         行する
  2322.     $    現在行の末尾に移動する
  2323.     %    カーソルが括弧 ()、波括弧 {}、ブラケット [] の上にあ
  2324.         れば、対応する括弧に移動する
  2325.     '    直前に 'a あるいは 'b などでマークされた位置にカーソ
  2326.         ルを移動する。カーソルはマークされた行の先頭に移動す
  2327.         る。特別なマーク '' は「直前の文脈」を指す
  2328.     +    コマンドモードでは復帰文字と同じ
  2329.     ,    直前の t、T、f、F コマンドを逆向きに実行する
  2330.     -    直前の行の最初の非空白文字に移動する
  2331.     .    最後の編集コマンドを繰り返す
  2332.     /    前向きの文字列探索コマンドを開始する。文字列探索は閉
  2333.         じるスラッシュで終わっていてもよい。スラッシュ自身を
  2334.         探すためには、探索文字列の中で ¥/ を用いる
  2335.     0    現在行の先頭に移動する。繰り返しの回数としても使われ
  2336.         る
  2337.     1-9    コマンドに繰り返し回数を前置するために使う
  2338.     :    ex コマンドを開始する
  2339.     ;    直前の t、T、f、F コマンドを繰り返す
  2340.     <    左シフトのオペレーター
  2341.     >    右シフトのオペレーター
  2342.     ?    / と同じだが、逆向きに探索する
  2343.     A    現在行の後に追加を開始する
  2344.     B    空白で区切られた単語1つだけ後ろに戻る
  2345.     C    現在行のカーソル以降を変更する
  2346.     D    現在行のカーソル以降を削除する
  2347.     E    空白で区切られた単語の末尾に移動する
  2348.     F    ある文字を現在行の中で逆向きに探す
  2349.     G    指定された行番号の行に移動する(行番号省略時はファイ
  2350.         ルの末尾)
  2351.     H    画面上の先頭行の最初の非空白文字に移動する
  2352.     I    現在行の最初の非空白文字の前に挿入を開始する
  2353.     J    2つの行をつなぐ
  2354.     L    画面上の最終行の最初の非空白文字に移動する
  2355.     M    画面上の中央行の最初の非空白文字に移動する
  2356.     N    最後の文字列探索を逆向きに実行する
  2357.     O    新しい行を現在行の上に開き、挿入を開始する
  2358.     P    格納・削除バッファーの内容を現在カーソル位置の直前に
  2359.         挿入する
  2360.     R    エスケープが入力されるまで、文字列を置き換える。挿入
  2361.         モードと同様だが、挿入の代わりに置換を行う。置換モー
  2362.         ドで改行を入力することは挿入モードと同じであるが、新
  2363.         しい行で置換が継続される
  2364.     T    与えられた文字を逆向きに探し、その手前まで移動する
  2365.     U    現在行を変更前の状態に戻す
  2366.     W    空白で区切られた単語1つだけ前に進む
  2367.     X    カーソル直前の1文字を削除する
  2368.     Y    現在行を格納するyy と同じ
  2369.     ZZ    エディターを終了する。必要なら変更を保存する
  2370.     [[    C の関数1つだけ後ろに戻る
  2371.     ]]    C の関数1つだけ前に進む
  2372.     ^    現在行の最初の非空白文字に移動する
  2373.     `    これは ' と同様に与えられたマークに移動する。この2
  2374.         つのコマンドの違いは、オペレーターとともに使われると
  2375.         きに重要である。2つの違いは正しくサポートされている。
  2376.         何を言っているのかわからないのならば、あなたにとって
  2377.         は大したことではないので、気にする必要はない。
  2378.     a    カーソルの後にテキストを追加する
  2379.     b    単語1つだけ後ろに戻る
  2380.     c    変更オペレーター
  2381.     d    削除オペレーター
  2382.     e    単語の末尾に移動する
  2383.     f    ある文字を現在行の上で探す
  2384.     h    1コラム左に移動する
  2385.     i    カーソルの前にテキストを挿入する
  2386.     j    1行下に移動する
  2387.     k    1行上に移動する
  2388.     l    1コラム右に移動する
  2389.     m    現在位置にマークを設定する(たとえばma あるいは mb)
  2390.     n    直前の文字列探索を繰り返す
  2391.     o    新しい行を開き、テキストの挿入を開始する
  2392.     p    格納・削除バッファーの内容をカーソルの後に書き込む
  2393.     r    1文字を置き換える
  2394.     s    1文字を文字列で置き換える
  2395.     t    与えられた文字を現在行の上で前向きに探し、その手前ま
  2396.         で移動する
  2397.     u    直前の変更を取り消す
  2398.     w    1単語前に移動する
  2399.     x    カーソル位置の文字を削除する
  2400.     y    格納オペレーター
  2401.     z    現在行が先頭に(z復帰)、中央に(z. )、末尾に(z-)
  2402.         来るように画面を書き直す
  2403.     |    前置きされた数値で示されるコラム位置に移動する
  2404.     ~    カーソル位置の文字(が英字なら)の大小を反転し、右に
  2405.         移動する。パラメーター  tildeop が設定されていれば、
  2406.         このコマンドはオペレーターとして働く
  2407.  
  2408.  
  2409.   CONTENTS
  2410.  
  2411.             STEVIE - ユーザーガイド
  2412.  
  2413.                 CONTENTS
  2414.  
  2415.  
  2416.     1.  序章 .............................................   1
  2417.  
  2418.     2.  エディターの起動 .................................   2
  2419.  
  2420.     3.  コマンドオプションの設定 .........................   2
  2421.  
  2422.     4.  行編集コマンド ...................................   4
  2423.         4.1 モード行 .....................................   5
  2424.         4.2 大域コマンド .................................   5
  2425.         4.3 置換コマンド .................................   6
  2426.         4.4 ファイル操作コマンド .........................   6
  2427.  
  2428.     5.  文字列探索 .......................................   7
  2429.  
  2430.     6.  オペレーター .....................................   8
  2431.  
  2432.     7.  タグジャンプ .....................................   8
  2433.  
  2434.     8.  システム特有部分の説明 ...........................   8
  2435.         8.1  Atari ST ....................................   8
  2436.         8.2  UNIX ........................................   8
  2437.         8.3  OS/2 ........................................   9
  2438.         8.4  MSDOS .......................................   9
  2439.         8.5  Macintosh ...................................   9
  2440.  
  2441.     9.  実現されていない機能 .............................  10
  2442.  
  2443.     10. 判明しているバグ、問題点 .........................  10
  2444.  
  2445.     11. 最後に ...........................................  11
  2446.  
  2447.     文字機能一覧 .........................................  12
  2448. /***wc***/
  2449. WC(1M)                        Mac-Shell Command                         WC(1M)
  2450.  
  2451. 【名前】
  2452.     wc - ファイル中の行/単語/文字数を数える
  2453.  
  2454. 【形式】
  2455.     wc [-lwc] [file...]
  2456.  
  2457. 【オプション】
  2458.     -l    行数を数える
  2459.     -w    単語数を数える(スペース、タブで区切られた文字列が一単語)
  2460.     -c    文字数を数える(漢字は2文字と数えるため、 実際にはバイト数
  2461.         を数えています)
  2462.  
  2463.     オプションを指定しなかった場合には '-lwc' と見なします。
  2464.  
  2465. 【解説】
  2466.     wc ファイル中の行/単語/文字数を数えるコマンドです。
  2467.